我已经工作了几个小时,以弄清楚为什么没有将我的CSS应用于打印HTML页面的原因。我创建了一个使用dompdf渲染的标记的工作示例:
https://jsfiddle.net/n7Lak0gr/1/
HTML和CSS是一个在表中具有多个列的目录。这些行具有交替的背景色,并且还有其他一些样式。但是,即使将media
设置为all
,打印到PDF时样式也不会显示。
请注意,如果您从this version复制所有代码并创建自己的本地html文件,则可以更好地看到它,因为另一个问题是,当不应用样式时,表格会溢出到多个页面中。
我已在Chrome,Firefox和Internet Explorer中重现了该问题。而且我尝试删除CSS片段,但无法弄清楚为什么样式不显示。
答案 0 :(得分:0)
这是大多数浏览器的默认设置,不是用于打印背景。显然,这是为了节省墨水/墨粉。
您可以在浏览器首选项中更改该设置,但坏处是您无法通过您的网站来影响这些设置-这完全是打印用户的决定(大多数用户甚至不知道此首选项设置)
答案 1 :(得分:0)
我知道了。我必须删除dompdf_font_family_cache.php
中的字体缓存文件sites/all/libraries/dompdf/lib/fonts/
。
看到其他错误并查看this SO answer
后,我的方向正确