【发布时间】:2018-02-09 07:51:05
【问题描述】:
我们一直在我们的应用程序中使用 wkhtmltopdf 来使用 HTML 代码生成 PDF。
这就是它现在在配置文件中的样子:
$V{html2pdf} = "/opt/project/wkhtmltox/bin/wkhtmltopdf -q -s Letter --load-error-handling ignore --javascript-delay 100 --encoding utf8 --zoom 0.8 --disable-external-links --disable-internal-links --header-font-size 8 --header-font-name Verdana --header-left '[date]' --header-right 'Page [page] of [toPage]' --print-media-type --dpi 600 --user-style-sheet $V{PROJECT_DIR}/assets/c1/css/pdf_report.css ";
最近我们将服务器更新为 Ubuntu 14.04.5 LTS,并将 wkhtmltopdf 更新为更新版本 wkhtmltopdf 0.12.4 (with patched qt)。
现在,当我尝试生成 pdf 时,某些 html 元素的显示格式不正确。参考截图。
以前不是这种情况。
于是开始调查这个问题。找到了一些与wkhtmltopdf 0.12.4 (with patched qt) 相关的答案,并建议将--disable-smart-shrinking 命令行指令添加到配置文件中。我这样做了,没有任何变化。
最后决定开始修改--user-style-sheet $V{PROJECT_DIR}/assets/c1/css/pdf_report.css中的css规则。在更改了几个 css 规则后,尝试测试。但奇怪的是,它没有考虑到新规则。
/* My Report heading ---- OLD */
table.formTablePdf td.title h5 {
margin: 0;
padding: 0;
/* Reset to black */
color: #000 !important;
line-height: 1.2em;
text-align: right;
}
/* My Report heading ---- NEW */
table.formTablePdf td.title h5 {
margin: 0;
padding: 1em;
/* Reset to black */
color: #000 !important;
line-height: 1.2em;
text-align: right;
padding-right: 2em;
}
这也有一些错误.. 我发现这是 Windows 操作系统中的一个问题。该文件应以///为前缀。
如果我做错了什么,请告诉我。有没有人遇到过同样的问题。
提前致谢。
【问题讨论】:
标签: html css pdf wkhtmltopdf