Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 边界不';在Chrome PDF查看器中打印_Html_Css_Google Chrome_Pdf_Wkhtmltopdf - Fatal编程技术网

Html 边界不';在Chrome 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

我正在使用wkhtmltopdf将HTML页面转换为PDF文件。然后客户端下载PDF并打印它

如果您使用Adobe Reader之类的工具来打开PDF文件,这将非常有用,但如果您使用Chrome的内置PDF查看器,这将不起作用

在Chrome PDF查看器中,PDF将(几乎)像这样正确显示。(所有边界实际上都是相同的厚度,我不知道为什么它显示中间边界更厚):

但如果从Chrome PDF Viewer打印PDF,某些边框将消失:


我已经尝试过使边框的厚度大于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发布吗?