2012-12-14 71 views
2

我剛剛安裝了wkhtmltopdf,它將網頁轉換爲pdf。cfexecute命令行

我可以在命令行服務器上,像這樣運行:

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

wkhtmltopdf加入添加到路徑環境變量。該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訪問被拒絕」的消息,但我知道這仍然可能是一個語法問題,而不是一個權利問題。

任何人都可以看到我的代碼問題?

+1

你的cfexecute是錯誤的 - 檢查[文檔](http://cfdocs.org/cfexecute),你會看到'variable'屬性是任何響應存儲在CFML變量中;你需要參數傳遞給可執行文件。 –

+0

哎呀是的,我忘記交換了。我上面做了編輯。仍然沒有好處。 – Sam

回答

5

OK得到它的工作!...

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

語法是在命令行中我的窗戶跑了有點不同。

+1

這不是不同的語法,你的原始版本只需要調用兩個相同的程序。 – Sergii

0

您是否知道ColdFusion能夠將HTML轉換爲內置PDF格式?請參閱cfdocument tag

這是一個非常簡單的例子,應該工作:

<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標籤工作得很好。

+1

它確實但wkhtmltopdf在我的測試中做了更準確的轉換工作。 –