wkhtmltopdf如何设置HTML页脚和页眉的缓存?

时间:2019-03-20 08:28:45

标签: limit wkhtmltopdf

测试wkhtmltopdf以生成巨大的pdf报告。 最终PDF约为600页。大约500页出现相同的错误后

Error:failed to load file .......... with network status code 201 and http status code 0 - Error opening kn_footer.html: Too many open files

fs.file-max的值约为1.6M。错误发生后,我将其增加到2097152,但这没有帮助。

尝试添加文件缓存,但无法正常工作。命令行如下:

wkhtmltopdf --cache-dir /tmp/ --allow /path/to/my/dir/ --margin-top 20 --load-error-handling ignore --orientation landscape --page-size A4 page kn_utf.html --footer-html kn_footer.html --header-html kn_header.html --footer-spacing 1 kn.pdf

是否有办法说wkhtmltopdf立即获取页眉和页脚或在每次迭代后关闭该文件?

1 个答案:

答案 0 :(得分:0)

我也无法获得任何类型的缓存来处理 532 页的文档。通过将我的 footer.html 文件转换为 wkhtmltopdf 页脚文本,我确实取得了一些成功。您也可以考虑将其拆分为两个文档,运行 wkhtmltodpf 两次,然后使用 pdfunite 将两个临时 PDF 合并到最终文档中。如果您对文本页脚方法感兴趣,这里是我使用的一组选项。不要忘记设置底部边距(-B 选项),否则文本页脚会从页面上脱落。

wkhtmltopdf \
-O landscape \
-s letter \
-L 20 \
-R 20 \
-T 20 \
-B 20 \
--exclude-from-outline \
--image-dpi 300 \
--header-html $BASE_DIR/header.html \
--footer-line \
--footer-spacing  10 \
--footer-left "$FOOTER_LEFT" \
--footer-center "$FOOTER_CENTER" \
--footer-right "$FOOTER_RIGHT" \
--footer-font-size 10 \
--cache-dir $BASE_DIR/cache \
--user-style-sheet $BASE_DIR/some.css \
$TARGET_DIR/[im]*.html \
$TARGET_DIR/final.pdf