我曾在 SO 和其他几个网站上看到过这个问题以几种不同的方式被问到,但是大多数问题要么太具体,要么已经过时了。我希望有人能在这里给出一个明确的答案,而不是迎合猜测。
当有人在浏览器内打印时,有没有办法用 CSS 或 javascript 来更改默认的打印机设置?当然,我所说的“从浏览器打印”是指某种形式的 HTML,而不是 PDF 或其他依赖于 MIME 类型的插件。
请注意:
如果有些浏览器提供这种功能,而其他浏览器不提供(或者如果您只知道如何为某些浏览器提供这种功能) ,我欢迎特定于浏览器的解决方案。
类似地,如果您知道一个主流浏览器对这样做有特定的限制,这也是有帮助的,但一些相当最新的文档将不胜感激。(当 XYZ 在过去三年中对安全策略做出重大改变时,简单地说“这违背了 XYZ 的安全策略”是不能令人信服的)。
最后,当我说“更改默认打印设置”时,我并不是指永远,只是指我的页面,我特别指的是打印页边距、页眉和页脚。
我非常清楚 CSS 提供了改变屏幕方向和页边距的选项。其中一个难题就是 Firefox。如果我设置页边距为1英寸,它添加到半英寸,它已经放置到位。
我非常希望减少在我的客户的网站上使用 PDF 文件,但侵犯表示(以及缺乏可靠性)是他们主要关注的问题。