2013-04-08 74 views
0

打印样式表使用CSS media query可以让网站一个伟大的方式更便于打印:单独的样式表用于打印和PDF文件?

p { color: grey; } 

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

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


对于PDFing目的,我们已经通过@media print应用一些简单的CSS规则,使网页在格式更友好的 - 删除导航,某些页脚元素等

(有些人可能希望在稍后的日期下载并打印这些PDF文件,没关系,在每个页面上也会有链接以访问我们创建的PDF。)


但是,看起来对于普通大众的打印需求,建议创建样式表时不要使用太多的格式:删除背景,增加对比度,优化字体大小等等。

我们还没有这样做。 是否可以有多套print规则 - 一种适用于PDFing,另一种适用于打印机?或者,如果不是,那有什么解决方法?

回答

0

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

有两个解决方案,我想出了:

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

当最终用户决定打印时,如果他们的机器上已经安装了某种类型的PDF软件,他们应该可以选择打印到PDF。对于你来说,确定对他们来说,并且知道他们在机器上的配置以及他们要经过哪些软件公司,以及版本,可能不是从CSS的角度来确定的最佳主意。我个人仅仅依靠你的打印样式表作为两种途径的主要来源。

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

真的,如果他们真的想,他们应该已经知道,他们已经安装在PDF软件的应用他们的机器。当他们进入打印预览窗口时,让他们选择他们应该如何打印。但是,您也许可以推销/推广关于如何打印到PDF的创意帮助指南,以及他们可以在何处获得免费的PDF软件应用程序进行下载。

Regards