Html 边界不';在Chrome PDF查看器中打印
我正在使用wkhtmltopdf将HTML页面转换为PDF文件。然后客户端下载PDF并打印它 如果您使用Adobe Reader之类的工具来打开PDF文件,这将非常有用,但如果您使用Chrome的内置PDF查看器,这将不起作用 在Chrome PDF查看器中,PDF将(几乎)像这样正确显示。(所有边界实际上都是相同的厚度,我不知道为什么它显示中间边界更厚): 但如果从Chrome PDF Viewer打印PDF,某些边框将消失:Html 边界不';在Chrome PDF查看器中打印,html,css,google-chrome,pdf,wkhtmltopdf,Html,Css,Google Chrome,Pdf,Wkhtmltopdf,我正在使用wkhtmltopdf将HTML页面转换为PDF文件。然后客户端下载PDF并打印它 如果您使用Adobe Reader之类的工具来打开PDF文件,这将非常有用,但如果您使用Chrome的内置PDF查看器,这将不起作用 在Chrome PDF查看器中,PDF将(几乎)像这样正确显示。(所有边界实际上都是相同的厚度,我不知道为什么它显示中间边界更厚): 但如果从Chrome PDF Viewer打印PDF,某些边框将消失: 我已经尝试过使边框的厚度大于1px,并且我尝试了pt而不是px
我已经尝试过使边框的厚度大于1px,并且我尝试了pt而不是px。您设置的边框有多厚?下载PDF,在chrome中打开,然后放大到400%左右。边界显示出来了吗?如果是这样,那么您的问题在于ChromePDF查看器如何处理细线渲染。这是一个问题,chromepdfviewer在呈现表格边框时遇到了问题,这使得问题更加复杂 大多数消息来源都说要禁用ChromePDF浏览器,这样它就可以回到AdobeReader了。这是可行的,但这对我来说是一个不可用的选项,因为我们的服务器通过PhantomJS处理PDF,修改Chrome在其中的操作方式对我们提供的其他自定义PDF解决方案有未知的影响。就是那个让我想到可能是细线条渲染器。在Chrome PDF Viewer开始在表格边框上给出不一致的结果时,似乎存在一个2px的阈值厚度。您可以使用以下小技巧来演示这一点:
table, th, td {
/* 1.965354px, this does not work */
border: 0.52mm solid #ddd;
}
table, th, td {
/* 2.00315px, this does work */
border: 0.53mm solid #ddd;
}
将厚度设置为2px可以解决您的问题。这不是一个真正的解决方案(我的直觉告诉我根源可能在于Chrome PDF Preview如何处理边框塌陷),但目前这有望帮助您。您设置了多厚的边框?下载PDF,在chrome中打开,然后放大到400%左右。边界显示出来了吗?如果是这样,那么您的问题在于ChromePDF查看器如何处理细线渲染。这是一个问题,chromepdfviewer在呈现表格边框时遇到了问题,这使得问题更加复杂 大多数消息来源都说要禁用ChromePDF浏览器,这样它就可以回到AdobeReader了。这是可行的,但这对我来说是一个不可用的选项,因为我们的服务器通过PhantomJS处理PDF,修改Chrome在其中的操作方式对我们提供的其他自定义PDF解决方案有未知的影响。就是那个让我想到可能是细线条渲染器。在Chrome PDF Viewer开始在表格边框上给出不一致的结果时,似乎存在一个2px的阈值厚度。您可以使用以下小技巧来演示这一点:
table, th, td {
/* 1.965354px, this does not work */
border: 0.52mm solid #ddd;
}
table, th, td {
/* 2.00315px, this does work */
border: 0.53mm solid #ddd;
}
将厚度设置为2px可以解决您的问题。这不是一个真正的解决方案(我的直觉告诉我Chrome PDF Preview如何处理边框折叠的根源),但目前这将有望帮助您。您能将要转换为PDF的页面的HTML/CSS发布吗?您能将要转换为PDF的页面的HTML/CSS发布吗?