在PowerShell脚本中加载页面错误wkhtmltopdf

时间:2015-02-17 14:59:01

标签: powershell wkhtmltopdf

我从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    

由于脚本返回错误,我无法继续进行操作。 请就此提出建议。

2 个答案:

答案 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