如@Kurt Pfeifle所述,对您来说最好的选择可能是使用无需通过打印机即可直接从HTML转换为PDF的工具。您可以尝试以下2种免费组件:
我目前正在将网页转换为可以轻松打印为pdf的格式,同时保持相同的外观。许多“打印为pdf”工具不允许您打印背景图像/颜色,因此我试图通过在表格的标题元素下放置纯色图像来解决该问题。现在看起来像这样:
<img src="/image.png" width="100%" style="margin-bottom:-90px">
<table><th>Header1</th><th>Header2</th>...
当我通常使用浏览器查看标题元素时,似乎标题元素具有纯色背景,但是当尝试打印为pdf时,<th>
元素在图像上具有空白的白色背景。有没有一种方法可以强制这些元素在与图像相对应的文本中被视为透明的?也许有更简单的方法来解决后台问题?
编辑:因此,我真正的问题是,我正在尝试一种解决方法,以使页面可以被尽可能多的htmltopdf工具访问,最终这并不是一个选择,因为在一个浏览器或另一个浏览器和一个打印机中,它总是看起来不同我会强制使用边距,而其他将不会,等等。我的解决方案是我在php中创建了一个简单的应用程序,该应用程序使用wkhtmltopdf打印了该页面,我必须先将其安装在服务器上。完成后,无论使用哪种浏览器,PDF都看起来不错!
当您“打印到PDF”网页时,浏览器创建打印作业的首要责任。
并且在这种情况下,他们必须为作业创建PostScript
文件。 (仅在下一阶段,当虚拟的“ PDF打印机”起作用时,才从此PostScript输入创建PDF。与LibreOffice,OpenOffice和MS Office不同,现在您必须考虑两件事:
大多数浏览器都有设置,这些设置允许“打印图像” /“不打印图像”和“打印背景色” /“不打印背景色”等。
所以您首先应该问自己:
浏览器的打印设置是什么?
我的浏览器是否将PostScript移交给具有所需颜色的PDF打印机?
如果不是,那不是PDF打印机的故障。
关于透明度功能:PostScript不支持透明度
但是,关于这种“扁平化”,并非所有的应用程序和浏览器都做得很好。
只要您需要“打印到PDF”
,在地狱中就没有机会真正获得PDF文件的透明性(您只会得到“ mimikry”位图)。一旦浏览器开始能够“导出为PDF”],这里的透明度将开始发生。或者,您可能会找到第三方工具,该工具可以从HTML 直接转换
如@Kurt Pfeifle所述,对您来说最好的选择可能是使用无需通过打印机即可直接从HTML转换为PDF的工具。您可以尝试以下2种免费组件:
如@Kurt Pfeifle所述,对您来说最好的选择可能是使用无需通过打印机即可直接从HTML转换为PDF的工具。您可以尝试以下2种免费组件: