如何使 wkhtmltopdf 在尽可能多的情况下工作?
how to make wkhtmltopdf work in as many case as possible?
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,但它有自己的一系列问题...
谢谢大家!
原来其实很简单!
只需使用“-n”标志!很有魅力!
当启用 Javascript 并且完成速度太慢时会发生这种情况。如果你需要运行javascript来解决这个问题添加:
--javascript-delay 100000
调整 Javascript 完成的等待时间(以毫秒为单位)。所以在上面的例子中它等待 100 秒。请注意,如果您 运行 一次转换多个文档,此设置将应用于整个 运行,而不是每个单独的文档。因此,如果您在单个 pdf 输出中转换大约 100 个输入 html,则可能需要更长的延迟。
我还添加到我的脚本中:
--no-stop-slow-scripts
这使得:不要停止慢 运行ning javascripts.
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,但它有自己的一系列问题...
谢谢大家!
原来其实很简单! 只需使用“-n”标志!很有魅力!
当启用 Javascript 并且完成速度太慢时会发生这种情况。如果你需要运行javascript来解决这个问题添加:
--javascript-delay 100000
调整 Javascript 完成的等待时间(以毫秒为单位)。所以在上面的例子中它等待 100 秒。请注意,如果您 运行 一次转换多个文档,此设置将应用于整个 运行,而不是每个单独的文档。因此,如果您在单个 pdf 输出中转换大约 100 个输入 html,则可能需要更长的延迟。
我还添加到我的脚本中:
--no-stop-slow-scripts
这使得:不要停止慢 运行ning javascripts.