测试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立即获取页眉和页脚或在每次迭代后关闭该文件?
答案 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