現在有一段時間了,我已經使用wkhtmltopdf進行pdf文檔的即時生成,並且一般來說它遠遠領先於包(與php中的其他工具相比)。如何解決wkhtmltopdf中的javascript或http錯誤?
然而,這是一個巨大的痛苦,甚至做這個過程的最基本的調試。 使用您的常規瀏覽器,可能需要alert(var);
或console.log(var);
,並發現「var」爲undefined
。再次,您可以輕鬆地在瀏覽器控制檯的某個地方看到404
或500
http錯誤。
就拿這一點:
wkhtmltopdf.exe http://localhost/mypage.html C:/temp/myfile.pdf
的PDF文件無法得到創建,但因爲不完善依賴於javscript或AJAX某些方面的缺失。
隨着wkhtmltopdf,如何最好地調查這些錯誤,如果他們存在mypage.html
?
謝謝@ lorenzo-s:隧道盡頭的曙光。當我在命令行上運行raw命令時,我得到了一些神祕的東西:'Warning:undefined:0 TypeError:'null'不是一個對象'。現在,我實際上是通過php調用wkhtmltopdf。現在,使用'shell_exec()'和'exec()',它們都不會在php中提供任何輸出!你能幫忙嗎? –
'TypeError:'null'不是一個對象':可能你試圖訪問空引用上的一個屬性。不幸的是,它不會告訴你在哪裏,所以我最好的猜測是添加隨機的'console.log()'並搜索它停止的那一行。從PHP調用'wkhtmltopdf'不會改變任何東西,你不能看到輸出,因爲它在stderr上,而不是標準輸出。我不知道它在Windows上的工作原理,但在Linux上,你必須在命令後附加'2>&1'。 –
我堅持測試的命令行,並沒有打擾PHP輸出問題。是的,我最終能夠使用逐行'console.log()'來跟蹤有問題的腳本塊。事實上,我今天學到的最偉大的事情是,你實際上可以用wkhtmltopdf來設置'console.log'!非常感謝。 –