【问题标题】:wkhtmltopdf is not considering the --user-style-sheet command line parameterwkhtmltopdf 没有考虑 --user-style-sheet 命令行参数
【发布时间】: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


    【解决方案1】:

    我想通了。 这是由于 wkhtmltopdf--dpi 参数的新行为。当我删除此参数并添加 --enable-smart-shrinking 时,我能够正确对齐内容。我仍然面临 PDF 宽度的问题。我的页面有一个 div,它有一个动态水平滚动条,其中有很多列的表格。在之前的wkhtmltopdf 版本中,文档用于完全缩小/缩放并捕获所有内容。因此,在 100% 缩放时,您无法阅读任何内容。您需要缩放以查看内容。现在这没有发生。我不确定为什么。我还需要检查。

    【讨论】:

      猜你喜欢
      • 2022-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-06
      • 1970-01-01
      • 2010-10-11
      • 1970-01-01
      • 2017-11-13
      相关资源
      最近更新 更多