【问题标题】:Separate stylesheets for printing and PDFing?用于打印和 PDF 的单独样式表?
【发布时间】:2013-03-30 15:15:49
【问题描述】:

CSS media query 用于打印样式表可能是使网站更易于打印的好方法:

p { color: grey; }

@media print {
    p { color: black; }
}

对于一个项目,我们发现从网页创建 PDF 文件以发送给客户非常有效(比从头开始更好)。


出于 PDF 的目的,我们通过 @media print 应用了一些简单的 CSS 规则,以使该格式的网页更加友好 - 删除导航、某些页脚元素等。

(有些人可能想在以后下载和打印 PDF,这很好。每个页面上都会有一个链接来访问我们创建的 PDF。)


不过,似乎为了普通大众的打印需求,建议创建没有太多格式的样式表:去除背景、增加对比度、优化字体大小等等。

我们还没有这样做。 是否可以有一组以上的print 规则 - 一组在 PDF 文件中应用,另一组在打印到打印机时应用? 如果没有,有什么解决方法?

【问题讨论】:

    标签: css pdf printing media-queries


    【解决方案1】:

    我还没有找到一种方法来通过 CSS 指定浏览器是打印到物理打印机还是 PDF 格式。 (除了各种浏览器,还要兼容多种操作系统。)

    我想出了两种解决方案:

    1. 有两个print 样式表,在创建PDF 时,包括PDFing 的一个,和/或为公众注释掉一个。 (或者有一个样式表,并注释掉相关的代码行。)
    2. 有两个版本的 HTML 文档,例如index.phppdf.html,每个都有不同的 print 规则。在这种情况下,当您要创建 PDF 时,您将访问后者,而前者将是默认设置。问题将是管理两组内容,因此除非您可以将其自动化,否则不建议这样做。

    【讨论】:

      【解决方案2】:

      当最终用户决定打印时,如果他们的机器上已经安装了某种类型的 PDF 软件,他们应该可以选择打印为 PDF。让您为他们确定这一点,并了解它在他们的机器上的配置方式以及他们正在使用的软件公司和版本,这可能不是您从 CSS 角度确定的最佳主意。我个人会简单地将您的打印样式表作为这两种途径的主要来源。

      有些人会想要打印这些 PDF,这很好......

      没错,如果他们真的想要,他们应该已经知道他们的机器上已经安装了一个 PDF 软件应用程序。当他们进入打印预览窗口时,让他们选择打印方式。但是您也许可以营销/品牌一个创意帮助指南,说明如何打印为 PDF 以及他们可以在哪里下载免费的 PDF 软件应用程序。

      问候

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多