Командная строка cfexecute

Я только что установил wkhtmltopdf, который конвертирует веб-страницы в pdfs.

Я могу запустить его из командной строки на сервере следующим образом:

wkhtmltopdf http://www.google.co.uk c:\google.pdf

wkhtmltopdf был добавлен в переменную окружения path. Реальный путь к exe-файлу - C:\Program Files\wkhtmltopdf\wkhtmltopdf.exe

Теперь я хочу запустить это с ColdFusion 8, используя cfexecute.

<cfexecute name="c:\Program Files\wkhtmltopdf\wkhtmltopdf.exe"
        arguments="wkhtmltopdf http://www.google.com c:\google.pdf"
        timeout="10" />

Я пробовал несколько разных вариантов, но не могу заставить его работать.

У меня также были сообщения "Ошибка 5: доступ запрещен", но я понимаю, что это может быть проблема с синтаксисом, а не с правами.

Кто-нибудь может увидеть проблемы с моим кодом?

2 ответа

ОК ПОЛУЧИЛ ЭТО РАБОТАЕТ!...

<cfexecute name="c:\Program Files\wkhtmltopdf\wkhtmltopdf.exe" 
        arguments="http://www.google.com C:\google.pdf"
        timeout="10" />

Синтаксис немного отличается от командной строки, которую я запускал в Windows.

Знаете ли вы, что ColdFusion имеет возможность конвертировать HTML в PDF встроенный? Смотрите тег cfdocument.

Вот очень простой пример, который должен работать:

<cfhttp method="get" url="http://www.google.com" timeout="10" />
<cfif cfhttp.StatusCode EQ "200 OK">
    <cfdocument format="PDF" localurl="false">
        <cfoutput>#cfhttp.FileContent#</cfoutput>
    </cfdocument>
<cfelse>
    <p>http request failed [<cfoutput>#cfhttp.StatusCode#</cfoutput>]</p>
</cfif>

Я не знаю, сколько функций вам нужно от PDF-конвертера, но для простых конверсий cfdocument тег работает довольно хорошо.

Другие вопросы по тегам