【发布时间】:2010-12-29 23:26:37
【问题描述】:
我在 SO 和其他几个网站上看到过以几种不同方式提出的这个问题,但其中大多数都过于具体或过时。我希望有人可以在这里提供一个明确的答案,而不是迎合猜测。
当有人在浏览器中打印时,是否有办法通过 CSS 或 javascript 更改默认打印机设置?当然,“从他们的浏览器打印”是指某种形式的 HTML,而不是 PDF 或其他依赖插件的 mime 类型。
请注意:
如果某些浏览器提供此功能而其他浏览器不提供(或者如果您只知道如何为某些浏览器提供此功能),我欢迎使用特定于浏览器的解决方案。
同样,如果您知道主流浏览器对 EVER 执行此操作有特定限制,这也很有帮助,但我们将不胜感激一些相当最新的文档。 (当 XYZ 在过去三年中对上述政策做出重大改变时,仅仅说“这违反了 XYZ 的安全政策”并不是很有说服力)。
最后,当我说“更改默认打印设置”时,我并不是指永远,只是针对我的页面,我特指打印页边距、页眉和页脚。
我非常清楚 CSS 提供了更改页面方向和页边距的选项。 Firefox 是众多难题之一。如果我将页边距设置为 1 英寸,它会将其添加到它已经放置的半英寸。
我非常想减少在我的客户网站上使用 PDF,但他们主要担心的是对演示文稿的侵权(以及缺乏可靠性)。
【问题讨论】:
-
您有什么特别的理由要这样做吗?如果您说要求,那么也许还有另一个可能解决方案...对我来说,更改用户设置看起来不是一个好的解决方案...
-
我同意。我不想更改用户设置。我想覆盖浏览器的默认设置。原因是因为另一种选择是使用 PDF,当其他所有内容都可以通过 CSS 对打印机友好时,这似乎是不必要的。
-
我看到您已将答案作为解决方案进行了检查,但它仅适用于 chrome。您是否能够跨浏览器获得正确的解决方案?或者至少在几个浏览器中?因为我有同样的问题
-
@mavili 请参阅 stackoverflow.com/a/23778125/453605 了解跨浏览器解决方案。
标签: javascript html css browser printing