【发布时间】:2012-01-08 19:47:03
【问题描述】:
我使用 wkhtmltopdf 从 html 页面生成了一个 PDF 文件。 html 页面使用具有 1 像素边框的表格。如果我用 Acrobat 或 Foxit 打开 PDF,它们会随机错过绘制垂直边框,但如果我放大它们就会出现。所以我猜这是某种舍入错误,因为线条太细了?
如果我打印 PDF,它看起来不错。
我刚刚意识到,只有在我设置背景颜色时才会发生这种情况。
我该如何解决这个问题?
这是一个示例PDF。根据缩放系数,分隔字符“a”和“b”的边框会消失。我像这样生成了这个文件:
echo "
<html><body>
<span style="border: 1px solid black; background-color:red;">a</span>
<span style="background-color:red">b</span>
</body></html>"
| wkhtmltopdf.exe - test.pdf
【问题讨论】:
-
@yms:它应该可以工作,你必须点击“下载这个文件”。
-
它现在可以工作了...没关系...顺便说一句,您是否尝试过修改参数--dpi?
-
@yms:谢谢,好点子。我用不同的 dpi (10-10000) 进行了测试,但没有成功 :( 当我这样做时,我还测试了 --disable-smart-shrinking,也没有成功。
-
您是否尝试过降低分辨率?如果您在 html 中的线条以像素为单位定义,那么它们在 pdf 中的宽度会随着渲染分辨率的增加而降低。
-
@yms:可能的最低值是 --dpi 96。但它不会改变任何东西。
标签: pdf-generation acrobat wkhtmltopdf foxit