【问题标题】:how to make wkhtmltopdf work in as many case as possible?如何使 wkhtmltopdf 在尽可能多的情况下工作?
【发布时间】:2015-10-27 10:59:49
【问题描述】:

wkhtmltopdf 上的这个问题有一个特定的组件和一个更通用的组件。

通常:我正在尝试将各种网页提取到 pdf 文件中,并且我希望 wkhtmltopdf 在尽可能多的情况下工作。它是一个非常好的工具,但是当它无法转换网页时,我经常遇到问题。你们有一组与 wkhtmltopdf 一起使用的标志吗?

具体来说:例如,一个并不遥远但我遇到问题的网页是http://gizmodo.com/microsoft-surface-book-review-so-good-i-might-switch-1737680767。当我在没有任何标志的情况下运行 wkhtmltopdf 时(在 Windows 中),我得到以下信息:

>>wkhtmltopdf http://gizmodo.com/microsoft-surface-book-
review-so-good-i-might-switch-1737680767 blah.pdf
Loading pages (1/6)
Error: Failed loading page http://gizmodo.com/microsoft-surface-book-review-so-g
ood-i-might-switch-1737680767 (sometimes it will work just to ignore this error
with --load-error-handling ignore)
Warning: A finished ResourceObject received a loading progress signal. This migh
t be an indication of an iframe taking too long to load.
Warning: Received createRequest signal on a disposed ResourceObject's NetworkAcc
essManager. This might be an indication of an iframe taking too long to load.
Exit with code 1, due to unknown error.

如果我按照说明使用--load-error-handling ignore 标志,则会生成 PDF 文件,但它是空的。我如何让 wkhtmltopdf 使用这个网页?

我尝试使用 rasterize.js 查看其他工具,例如 phantomJS,但它有自己的一系列问题......

谢谢大家!

【问题讨论】:

    标签: html pdf wkhtmltopdf


    【解决方案1】:

    原来它其实很简单! 只需使用“-n”标志!像魅力一样工作!

    【讨论】:

    • 对我不起作用。我刚刚收到相同的消息,但没有启用 JavaScript(即没有或使用-n)。另外,禁用 JavaScript 可能会阻止某些内容的显示,这也不好。
    • @philippe_b - 它适用于最新版本的 wkhtmltopdf v0.12.3.2(至少对我来说 - 在 Windows 上)。但是,是的,它禁用了 Javascript 中的一些内容,但这是迄今为止我能得到的最好的结果
    • 小心!这将禁用 javascript。如果您希望 javascript 工作,请使用 @stason 的解决方案。
    【解决方案2】:

    当启用 Javascript 并且它太慢而无法完成时会发生这种情况。如果您需要运行 javascript 来解决此问题,请添加:

    --javascript-delay 100000  
    

    调整 Javascript 完成的等待时间(以毫秒为单位)。所以在上面的例子中,它等待 100 秒。请注意,如果您一次运行多文档转换,则此设置适用于整个运行,而不是每个单独的文档。因此,如果您在单个 pdf 输出中转换大约 100 个输入 html,则可能需要更长的延迟。

    我还添加到我的脚本中:

    --no-stop-slow-scripts
    

    启用:不要停止运行缓慢的 javascripts。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-26
      • 2012-04-09
      • 1970-01-01
      • 2018-09-29
      • 1970-01-01
      • 2018-01-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多