我从Windows机器上的powershell脚本运行wkhtmltopdf。 我正在使用的命令是
& "C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe" "C:\Desktop\Test.htm" "C:\Desktop\Report.pdf"
pdf文件正在创建,但它也是一个错误
wkhtmltopdf.exe : Loading pages (1/6)
At line:1 char:2
+ & <<<< "C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe" "C:\Test.htm" "D:\Report.pdf"
+ CategoryInfo : NotSpecified: (Loading pages (1/6):String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
[> ] 0%[======> ] 10%[==============================> ]
50%[============================================================] 100%Counting pages (2/6)
[============================================================] Object 1 of 1Resolving links (4/6)
[============================================================] Object 1 of 1Loading headers and footers (5/6)
Printing pages (6/6)
[> ] Preparing[============================================================] Page 1 of 1Done
由于脚本返回错误,我无法继续进行操作。 请就此提出建议。
答案 0 :(得分:1)
上面接受的关于捕获结果的答案对我不起作用,但是在查看WKHTMLTOPDF文档时,我找到了抑制信息文本(默认输出)的正确方法。
您需要将--log-level设置为error,以便它仅输出真正的错误文本,而不输出powershell误认为错误的信息文本。
--log-level <level> Set log level to: none, error, warn or
info (default info)
答案 1 :(得分:0)
您需要处理生成的错误文本。让std err std out并捕获结果(如果你想查看它们)
$result = & 'C:\Program Files (x86)\wkhtmltopdf\bin\wkhtmltopdf.exe' 'www.google.ca' "c:\temp\pdf.pdf" 2>&1
如果实际控制台输出不重要,您可以将其发送到Out-Null
& 'C:\Program Files (x86)\wkhtmltopdf\bin\wkhtmltopdf.exe' 'www.google.ca' "c:\temp\pdf.pdf" 2>&1 | Out-Null