为什么我的网页无法打印在浏览器中看到的内容?
您的某些网页打印不同的原因是因为它们具有打印样式表。
什么是打印样式表?
打印样式表会格式化网页,以便在打印时自动以用户友好的格式进行打印。打印样式表已经存在了很多年,并且已经写了很多。但是,很少有网站实现它们,这意味着我们留下的网页令人沮丧地无法正确打印在纸上。
值得注意的是,很少有网站将打印样式表用作:
- 打印样式表极大地提高了可用性,特别是对于内容很多的页面(例如本页面!)
- 它们非常快捷且易于设置
有些网站确实提供了指向该页面的打印友好版本的链接,但是当然需要进行设置和维护。它还要求用户在屏幕上注意到此链接,然后在打印页面之前以常规方式使用它(例如,通过选择屏幕顶部的打印按钮)。但是,当同时打印多个网页(例如跨多个网页的文章)时,适合打印的版本非常有用。
打印网站时,源禁用打印样式表(CSS)
如何禁用打印样式表?
最近,我需要获取一个与屏幕上显示的完全相同的网站快照。也就是说,我想要背景颜色,我想要广告,我想要完整的布局。
一种选择是在向下滚动页面时获取连续的屏幕截图,然后在Photoshop中将它们重新组合在一起。这很耗时,并且会留下低分辨率(72dpi)的图像。
另一种方法是打印页面,然后“另存为” PDF,而不是实际打印。对于没有为打印页面和查看页面定义不同布局的页面,此方法效果很好。
不幸的是,在网站上包含“打印”样式表已变得越来越流行,该样式表在用户尝试打印网站时定义新的页面样式。这是在标头中定义的,看起来像这样:
我发现只有一个选项可以真正满足我的需求:Chris Pederick开发的“ Web开发人员”附加组件/扩展。
使用此插件,您可以非常轻松地禁用所有样式,默认样式,内联样式,嵌入样式,以及您猜中的打印样式!
当前可用于Firefox和Chrome。我真的希望有一天Safari扩展会出现,因为我主要使用Safari。我为Safari找到的唯一选项是禁用所有样式-默认情况下,浏览器的最新版本(5.0.3)附带此功能。这在开发过程中很有用,以查看如何在纯文本浏览器上查看您的网站,但无法选择要禁用的样式,因此实用程序有限。
这是在Firefox中使用上述扩展名禁用打印样式的示例:
源打印样式表-权威指南