网站应该可打印

许多开发者认为,提供信息的网站——从博客和食谱到购物车、票据和法律页面——在打印或保存为 PDF 时都应当能清晰呈现,既方便离线阅读,也便于可靠归档。也有人反驳说,如今打印越来越少见,现代操作系统和浏览器对它的支持也很差,而且由于 CSS 打印支持薄弱和分页不一致,技术上还很麻烦。一个反复出现的主题是:基础打印样式表添加成本相对较低,能改善无障碍性和归档用途(包括电子墨水设备和“打印为 PDF”),有时甚至可以替代定制的 PDF 生成,尽管并非每个高度交互的“Web 应用”都需要精致的打印输出。

打印的用例与动机

  • 许多评论者仍会为了以下目的打印,或“打印为 PDF”:认真阅读、做批注、并排比较(汽车、房产)、TTRPG 材料、缝纫版型、简历、票据、标签、法律/行政文书、签名,以及旅行途中离线阅读。
  • 打印(或 PDF)被用于保存耐久记录:购买确认、账单、银行事务、食谱,以及用于未来争议的政策/服务条款。
  • 有些人把打印视为一种无障碍辅助:对疲惫的眼睛更友好,对阅读障碍更友好,也更有利于空间记忆,并且能借助荧光笔和笔进行无干扰的深度阅读。

对打印的怀疑

  • 有几位几乎不打印,或从不打印,认为这已经过时,或者在环保上是浪费,尤其是在内容可以在设备上阅读,或通过外包打印店处理的情况下。
  • 有人认为只有某些内容应该可打印(谜题、票据、具有法律/财务相关性的文档),而不应包括营销页面或高度视觉化的体验。
  • 还有人强调,“打印”往往真正指的是导出为 PDF/ePub,而不是纸张。

支持可打印网站的理由

  • 若一开始就有规划,使用 CSS(@media print)让网站基本可打印被描述为很容易:隐藏导航/广告、简化布局、调整颜色、添加分页符。
  • 优秀的打印样式可以取代发票、票据等场景里定制的 PDF 生成,并让测试打印演示的用户感到惊喜。
  • 可打印性与更好的结构和可用性相关,并且在仍依赖纸质流程的场景中很重要(学校、审计、会议、高风险采购)。

技术障碍与浏览器问题

  • 打印常常会因以下问题而出错:无限滚动、可滚动的子面板、vh 布局、超大图片、糟糕的分页、缺少背景,或被 React/SPA 输出弄乱。
  • 浏览器的打印引擎不一致且维护不足;有人提到某些浏览器效果更好,但总体上打印被描述为既有 bug 又难以调试。
  • 高级打印 CSS(分页媒体、分段)确实存在,但支持并不完整;Paged.js 以及各种工具/扩展(阅读模式、PrintFriendly、SingleFile、markdown/epub 流程)被用来绕过原生打印能力不足的问题。

更广泛的设计与理念

  • 有些人认为 HTML 天生就是一种多目标格式,就应该 能很好地输出到纸张、屏幕、语音、盲文等。
  • 也有人认为,Web 的主要用途是交互式、可导航的内容,而对于高质量打印,单独的格式(LaTeX/PDF)更合适。
  • 共识更接近于:不是所有网站都需要,但许多信息量大、交易型的网站至少应该打印时“不要糟糕得离谱”。