【问题标题】:Is there any way to tell a browser that your webpage is printer-friendly?有什么方法可以告诉浏览器您的网页适合打印吗?
【发布时间】:2014-10-20 18:57:44
【问题描述】:

我有一个带有特定于打印机的样式表的网页,我使用它来确保它使用零色墨水和尽可能少的黑色。但是,有一个非常重要的元素不是我需要显示的文本:徽标,它由 CSS 保存和显示。默认情况下,Chrome(可能还有基于 Chromium 的浏览器)不打印“背景图形”,即样式表引入的任何颜色或图像。 我是否可以使用任何元标记或其他类似方法告诉浏览器我已确保该页面适合打印?我尝试在 <IMG> 中显示它,但事实证明这太难了定位。

我正在寻找与使用 <META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=utf-8"/> <META CHARSET="utf-8" /> 告诉它我已经用 UTF-8 制作的内容相同的东西,或者使用 <META PROPERTY="og:locale" CONTENT="en_US" /> 告诉它这是美国英语,或者使用 <META NAME="viewport" CONTENT="initial-scale=1.0, user-scalable=no" /> 告诉它它是一个适合移动设备的网站。所有这些,我认为,所以它不必做出假设,我希望那里有一个便于打印的标签。

【问题讨论】:

    标签: html printing printers


    【解决方案1】:

    不,没有办法告诉浏览器您的网页适合打印。如果有,它几乎不会有任何影响,如果有,它可能会被滥用。这与例如不同。您描述为“适合移动设备的网站”的标签,它只会抑制默认缩放(并阻止用户可缩放性,这对任何人都不友好)。

    可以做的是指定某些样式表仅适用于印刷媒体。但这只是限制了它们对印刷媒体的影响。

    您还可以使用<link rel="alternate" media="print" href="..."> 指定要打印的页面的替代版本。但这至多会导致在打印页面时使用该版本。

    如果您真的想问如何强制打印使用 CSS 实现的背景图像,那么答案是您不能。只需将其设为内容图像即可。您可以通过使用 JavaScript 动态更改 DOM 来做到这一点,以便在打印之前将新的 img 元素添加到 DOM;但在正常情况下,包含静态 img 元素要简单得多。

    【讨论】:

    • 谢谢!我实际上确实将仅打印机版本指定为 PDF,但似乎所有浏览器都忽略了这一点:/
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 2010-11-25
    • 1970-01-01
    • 2021-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多