0

使用CSS 媒体查询打印样式表是使网站更易于打印的好方法:

p { color: grey; }

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

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


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

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


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

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

4

2 回答 2

1

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

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

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

问候

于 2013-04-08T14:03:16.137 回答
0

如果浏览器打印到物理打印机或 PDF 格式,我还没有找到通过 CSS 指定的方法。(除了各种浏览器,它还必须兼容多种操作系统。)

我提出了两种解决方案:

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