打印 (设计基础知识)

注意

此设计指南是为 Windows 7 创建的,尚未针对较新版本的 Windows 进行更新。 大部分指南原则上仍然适用,但演示和示例并不反映我们 当前的设计指南

打印是纸张上的用户体验。 它很容易被忽视,但它是整体用户体验的重要组成部分。

在本文中, 打印 是指用户体验在纸张上,其中输出定向到纸张而不是屏幕显示。 打印机友好格式 是指程序可以对屏幕显示输出做出的修改,使其更适合纸张输出。

尽管预测计算将导致“无纸化办公室”,令人惊讶的是,我们现在打印得和以往一样多。 我们分发 Microsoft PowerPoint 演示文稿幻灯片的硬副本,我们打印我们在网上发现但希望以后更仔细地研究的文章,我们打印以电子形式收到的重要电子邮件或简历,等等。 虽然设计用户界面时很容易忽略打印,但请记住,打印是整体用户体验的重要组成部分。

注意:常见对话 相关的指南在单独的文章中提供。

这是正确的用户界面吗?

若要确定程序是否需要支持打印,请考虑以下问题:

  • 你正在设计哪种类型的程序? 程序类型是适当打印支持级别的良好指标。 文档和图像创建、查看和浏览程序需要出色的打印支持,而其他类型的程序可能只需要较小程度的打印支持。 (有关程序类型的列表,请参阅本文的 打印模式 部分。)
  • 程序是否用于受益于直接纸张输出的方案? 如果是这样,向程序添加打印支持比要求用户将数据复制到另一个程序进行打印更方便。

设计概念

设计程序以消除不必要的打印

用户需要打印一些好的,而一些则不太好的原因有很多。 用户应打印是因为他们想要打印,而不是因为他们必须打印。 要求用户打印可能是缺少功能的迹象。 例如,过去用户必须打印文档才能进行批注和建议修订,但现在用户可以直接在 Microsoft Word 文档中执行这些任务。 查看涉及打印的程序方案,并尽可能确保打印需求是可选的,而不是缺少功能的结果。

还值得记住的是,节约纸张和墨水等资源有助于环境,从长远来看,为组织节省资金。

了解屏幕显示和打印之间的差异

虽然显示输出和打印之间有许多相似之处,但也有许多差异。 打印输出:

  • 具有高 dpi。 显示器输出通常为每英寸 96 或 120 点, (dpi) ,而打印机输出通常为 600 dpi 或更高。
  • 具有不同的最佳字体。 虽然设计良好的字体适用于显示和打印,但与无衬线字体相比,衬线字体在高分辨率下对大量文本的可读性更高。 因此,大量主要用于打印的文本应使用衬线字体,而主要用于显示的文本应使用无衬线字体。 有关详细信息,请参阅 字体 (Segoe UI) 。
  • 具有纵横比。 显示器的 纵横比 通常 (4:3 或 5:4) ,而打印使用高纵横比 (8.5:11 或 1:1.4142,具体取决于标准页面大小) 。 这是因为 纵向模式 打印比 横向模式更常见。
  • 具有页。 因此,打印输出:
    • 具有标准页面大小。 美国和加拿大的标准是 8.5“x11”纸;其他地方的标准是 A4 纸张。
    • 具有分页符。
    • 具有页边距。
    • 具有页眉和页脚。
    • 具有单面或双面输出。
    • 可以有多个副本。
    • 可以无序打印或有选择地打印。
  • 有许多选项。 用户可能需要选择打印机和纸张大小、打印机选项 (如打印质量、双面打印和装订) 、份数、页面范围、排序规则和打印格式。
  • 需要时间和金钱。 打印大型文档或高质量照片可能需要花费大量时间,并且纸张和墨迹的成本会随着时间的推移而增加。 相比之下,显示输出是即时的,基本上是免费的。
  • 可能是黑白的。 如今,许多打印机都是黑白的,而很少有显示器是单色的。
  • 不是交互式的。 用户无法滚动页面或控件来查看更多内容。 他们无法单击链接或按钮,或将鼠标悬停在控件上。 打印时,交互式内容没有值。
  • 纸张、墨迹或墨粉可能用完,或者脱机。 因此,纸张输出需要更多的错误处理和故障排除。

这些差异可能会影响你的打印设计。 创建良好的打印体验需要的不仅仅是将程序输出定向到打印机。

所思所及屏幕显示不断变化的要求

从历史上看,打印用户体验的最基本原则称为“所见即所得” (“) 。 这一原则表明,在显示屏上看到的内容和打印的内容之间应该有很强的关系。 在 WYSIWYG 成为标准做法之前,文档的显示和打印版本之间通常不存在任何关系。 用户必须打印才能查看文档在纸上的真实外观。 使用 WYSIWYG 极大地提高了工作效率,因为当时大多数程序主要用于文档创建和打印。

如今,网站通常会针对显示器进行优化,并且其打印机友好格式可能看起来大不相同。 此外,我们提供各种计算设备 (例如,智能手机和个人数字助理) 通常需要针对小型显示器进行优化的输出。 虽然 WYSIWYG 仍然是文档创建程序的最佳方法,但对于其他程序,针对各种目标设备进行优化通常更有意义。 对于此类程序,你在电脑显示器上看到的内容可能不同于你在其他设备显示器上看到的内容,这可能不同于你在打印页面上看到的内容。

优化打印

未采用严格 WYSIWYG 打印体验的程序仍可通过以下方式优化打印:

  • 重新设置目标页面大小的布局格式。

  • 提供打印预览,最好是使用简单的自定义选项,允许用户直接在打印对话框中进行试验 (例如拖动边距) 。

  • 如果适用,请提供适合打印机的格式选项。

    • 将单独的部分文档合并到单个文档中。

    • 删除背景和其他设计元素(如广告),特别是当它们不适合黑白打印机时。

    • 删除交互式元素,例如导航控件和命令按钮。

    • 确保所有数据都可见,没有滚动条或悬停。

      显示版本:

      针对屏幕优化的报表的屏幕截图

      打印机友好版本:

      针对打印进行优化的同一报表的屏幕截图

      在打印机友好版本中,所有数据在打印页上可见,并且交互式元素已删除。

    • 将链接替换为其等效文本。

      可以接受:

      有关详细信息,请参阅 UX 指南。

      针对打印进行优化:

      有关详细信息,请参阅 UX Guide (https://msdn.microsoft.com/windowsvista/uxguide) 。

  • 将深色背景上的浅色文本转换为白色背景上的深色文本。

包括正确的打印选项

“打印选项”通用对话框提供以下选项:

  • 选择打印机和纸张大小。
  • 设置打印机属性。
  • 选择页面范围、副本数和排序规则。
  • 使用纸张的两面。

程序可能需要其他选项,例如文档内容选项 (要打印的内容) 、格式选项 (打印方法,包括打印质量、图片大小、适合框架) 和颜色选项。 如果需要提供其他选项,请通过扩展“打印选项”常用对话框来执行此操作。 不要创建自定义“打印”对话框。

设计“打印”选项时,请考虑打印多个文档时的体验。 下一个打印作业很可能与上一个打印作业非常相似。 优化重印和类似打印作业的默认设置不会使用户每次都完全重新开始。

针对性能和可用性设计打印预览

错误的打印作业会浪费时间和金钱。 对于文档创建程序,用户应该能够在执行实际打印之前评估结果。 打印预览应允许用户:

  • 评估页边距、分页符、页面方向、页眉和页脚。
  • 浏览所有页面。
  • 直接从打印预览打印。

一些复杂文档 (,如计算机辅助设计 [CAD] 绘图) 可能需要很长时间才能呈现。 预览的性能非常重要,如果呈现每页需要一段时间,打印预览可能会变得相当繁琐。 因此,最好具有快速呈现且足够准确的打印预览,以便允许用户评估打印结果,而不是拥有呈现速度缓慢的完全准确的预览。

设计打印预览时,请考虑准备打印的整个任务。 用户将查找哪些内容? 它们将改变什么? 文档创建程序应提供交互式打印预览,以便用户可以调整预览中经常更改的设置,例如边距和换行符。

但是,默认情况下,程序应尽量执行正确的操作。 必要时,对不太可能是用户预期的打印情况发出警告。 不要依赖用户使用打印预览发现问题。 例如,假设电子表格的列太多,无法以纵向模式在单个页面上打印。 虽然程序可以显示确认对话框,但更好的解决方案是在横向模式下自动打印。

如果你只做了五件事...

  1. 设计适合程序类型的打印体验。
  2. 查看涉及打印的程序方案,并尽可能将打印需求设为可选。
  3. 通过自定义“打印通用”对话框提供有用的打印扩展插件。 不要为此创建自定义“打印”对话框。
  4. 优化重印和类似打印作业的打印选项。
  5. 根据需要提供预览功能。

打印图案

程序类型是适当打印体验的主要指标:

Label
高级文档创建
用于创建、查看和打印高端文档。 创建高质量打印输出的能力是程序存在的main原因之一。 面向专家用户。
用户目标: 完美结果对打印输出进行详细控制。
例子:Microsoft Word
建议的打印体验:
  • 针对打印 (WYSIWYG) 优化输出。
  • 高级文档格式设置功能,包含用于打印大型对象的选项。
  • 高级打印选项,包括页眉和页脚。 与文档相关的打印选项保存在文档本身中。
  • 快速、准确、功能强大的打印预览。
中间文档创建
用于创建和查看更复杂的文档。 创建高质量打印输出的能力很重要,但不一定是程序存在main原因之一。 面向中间用户。
用户目标: 以最少的工作量获得良好的结果。 对打印输出进行一些控制。
例子: 大多数 Microsoft Office 程序,如 Outlook 和 Excel。
建议的打印体验:
  • 针对打印 (WYSIWYG) 优化输出。
  • 一些文档格式设置功能,能够在不截断的情况下打印大型对象。
  • 一些自定义打印选项,包括页眉和页脚。
  • 准确、易于使用的打印预览。
简单文档创建
用于创建和查看简单文档。 面向所有用户。
用户目标: 使用标准打印选项提供基本打印支持。 用户无需进行任何调整即可获得良好的效果。
例子: 写字板、画图。
建议的打印体验:
  • 输出可以针对打印 (WYSIWYG) 进行优化,但这不是必需的。
  • 一些文档格式设置功能,能够在不截断的情况下打印大型对象。
  • 标准打印选项;自定义打印选项是可选的。
  • 简单或无打印预览。
文档查看器
用于查看文档。 用户无法更改文档内容或格式。
用户目标: 使用标准打印选项提供基本打印支持。 用户无需进行任何调整即可获得良好的效果。 打印问题会自动处理,因为用户无法修改文档。
例子: Windows Internet Explorer
建议的打印体验:
  • 输出可以针对打印 (WYSIWYG) 进行优化,但这不是必需的。
  • 程序自动处理分页符、消除空白页、处理大型对象以及删除背景和其他设计元素。
  • 标准打印选项;自定义打印选项是可选的。
  • 简单或无打印预览。
实用工具或业务线应用程序
用于执行简单的特定任务。 面向所有用户。
用户目标: 能够有效地导出所选数据。 用户无需进行任何调整即可获得良好的效果。 对于此类程序,用户通常会惊喜地发现任何打印支持。
建议的打印体验:
  • 打印支持是可选的,具体取决于支持的方案。
  • 输出可以针对打印 (WYSIWYG) 进行优化,但这不是必需的。
  • 一些文档格式设置功能。 如果截断大型对象,则可能是可接受的。
  • 标准打印选项。
  • 打印预览可选。

准则

常规

  • 不要打印空白页或仅包含页眉和页脚的页面。 但是,如果页眉或页脚包含页码,并且这些页码可能在其他位置引用,则打印空白页。
  • 在关闭程序之前,完全删除任何挂起的打印作业。

设置页面格式

  • 重新格式化文本布局以适应目标页面大小。 切勿截断文本。
  • 如果用户不控制文档的格式:
    • 通过跨页面缩放、旋转或拆分自动处理大型对象。 有关打印大型对象的更多指南,请参阅 超大对象
    • 优化分页符以消除空白页和近空白页。
    • 将深色背景上的浅色文本转换为白色背景上的深色文本。
    • 删除背景和其他设计元素, 特别是当它们不适合黑白打印机时。
  • 如果程序显示单独的部分文档,请提供适合打印机的格式选项,以将它们合并到单个文档进行打印。
  • 删除交互式元素:
    • 删除导航控件和命令按钮。

    • 确保所有数据都可见,没有滚动条。

    • 将链接替换为其等效文本。

      可以接受:

      有关详细信息,请参阅 UX 指南。

      针对打印进行优化:

      有关详细信息,请参阅 UX 指南 (https://msdn.microsoft.com/windowsvista/uxguide) 。

      在此示例中,链接将替换为括号中的等效文本。

    • 将悬停时显示的有用信息移动到内联。

超大对象

处理大型对象(如电子表格、图形和照片)是打印特有的问题。 选择以下方法之一:

  • 缩放对象以适应页面。 如果对象只是略大而无法打印,则此方法非常有效,在单个页面上保留对象非常重要,并且对象在缩小时仍可读。

    缩放到一半页的照片的屏幕截图

    在此示例中,将缩放大图像以适应页面。

  • 旋转页面。 在纵向模式下,当几页在横向模式下打印得更好时,此方法非常适合 (,反之亦然) 。

    旋转为纵向的横向照片的屏幕截图

    在此示例中,将旋转大图像以更好地适应页面。

  • 在多个页面上打印对象。 当无法缩放对象或不应缩放对象,并且旋转页面不起作用或不需要时,此方法非常有效。 如果对象具有内部边界 ((例如电子表格) 中的列分隔符和行分隔符),请打破这些边界上的页面,而不是在内容中。 此外,重复理解页面所需的任何元素,例如图例或列标题。 在多个页面上拆分对象时, (从左到右、从上到下) 按阅读顺序分配页码。

    下一页上重复的列标题的屏幕截图

    在此示例中,大表打印在两页上。 列标题在一页到一页中保留,以便于快速理解。

  • 截断对象 (仅打印截断) 后仍可见的对象部分。 此方法是实现的最简单解决方案,但可能最不可接受的解决方案。 另请注意,文本永远不能接受截断。

    纵向页面上一半宽照片的屏幕截图

    在此示例中,大图像被截断。

页眉和页脚

  • 为高级和中间文档创建程序提供页眉和页脚。 如果其他类型的程序用于多页文档,请考虑为它们提供页眉和页脚。
  • 使页眉和页脚可自定义。 允许用户定义左侧、中间和右侧部分。
    • 对于页眉,默认将文档名称放在左侧。
    • 对于页脚,默认情况下,将文档版权或源放在左侧,将页码放在右侧。
  • 使用友好的文件路径和 URL。 将空间显示为空格,而不是“%20”。
  • 对于菜单栏和快捷菜单,请使用显示“打印选项”常用对话框的“打印”命令。 使用省略号指示需要其他信息。

    文件菜单的屏幕截图,已选中打印命令

    在此示例中,Print 命令有一个省略号,指示它将显示“打印选项”常用对话框以获取详细信息。

  • 对于与菜单栏一起使用的工具栏,请使用即时打印命令。 单击该按钮会将文档的单个副本打印到默认打印机。 此类工具栏命令应是即时的。 若要指示命令是即时的,请将默认打印机放在工具提示中。 用户可以从菜单栏访问完整的“打印”命令。

    打印机图标及其工具提示的屏幕截图

    在此示例中,工具栏中的 Print 命令会立即打印,而不是显示“打印选项”通用对话框。 将默认打印机放在工具提示中可提供用户绕过对话框的文本强化。

  • 对于不使用菜单栏使用的工具栏,请使用“打印拆分”按钮。 单击该按钮会将文档的单个副本打印到默认打印机。 单击按钮的箭头部分会下拉包含完整“打印”、“打印预览”和“页面设置”命令的菜单。

    拆分按钮上打印机图标的屏幕截图

    在此示例中,Windows Internet Explorer 工具栏使用拆分按钮控件来提供所有打印命令。

  • 对于功能区命令用户界面,请将“打印”命令放在应用程序菜单中。

    垂直放置在左侧的命令的屏幕截图

    对于功能区,可以使用应用程序菜单访问“打印”命令。

  • 不要创建自定义“打印选项”对话框。 如果必须提供其他选项,请扩展“打印选项”常用对话框。 不要将单独的对话框用于其他打印选项。

不正确:

自定义打印选项对话框的屏幕截图

在此示例中,Fabrikam 错误地将单独的对话框用于其他打印选项。

开发 人员: 有关如何扩展“打印”公共对话框的信息,请参阅 PRINTDLGEX 结构

  • 扩展“打印选项”常用对话框时,不要复制已提供的任何功能。
  • 如果用户可能维护从一个打印作业到另一个打印作业的设置,请将这些设置设为默认值。 对于程序启动后的第一个打印作业,请使用标准默认值,包括默认打印机。 对于程序 实例中的后续打印作业,请保留上次选择的打印机和纸张大小。 请勿保留副本数或页面范围,因为这些副本在以后重新选择的可能性要小得多。
  • 通过删除当前不适用的选项来优化设置。 删除与所选打印机的功能或当前文档特征不一致的选项。 例如,照片打印应用程序可能会限制可提供最佳结果的纸张大小、纸张类型和打印质量的组合,因此选择光泽纸张选项可能会从纸张格式中删除信封。 如果用户出于任何原因想要查看所有选项,可以通过控件(如检查框)提供此功能。

开发 人员: 若要了解如何确定所选打印机的功能,请参阅 打印架构

  • 对于高级文档创建程序,请将文档相关的打印选项保存在文档本身中。 对于这些程序,打印选项是文档不可或缺的一部分。
  • 对于其他类型的程序,请按用户保存设置。
  • 请考虑选择非默认打印机进行专用打印。 例如,照片打印应用程序始终可以选择程序上次使用的打印机,而不考虑系统默认打印机。 这样做假定系统默认打印机不太可能是照片打印机。 此类程序应保存上次所选打印机的设置。
  • 检测打印机功能时不要锁定程序。 这样做会导致用户体验不佳。 相反,请执行以下任一操作:
    • 在单独的线程中执行打印机功能检测。
    • 10 秒后超时。
    • 提供允许用户取消的对话框。

“连接到”对话框的屏幕截图

在此示例中,如果用户认为任务花费的时间太长,则通过对话框可以轻松取消打印机功能检测。

  • 随时提供打印预览功能。 所有文档创建程序都受益于打印预览,但用户不希望在简单的文档创建程序中使用它们。 对于高级文档创建程序,请考虑直接在main程序窗口中提供打印预览支持。

打印预览中显示的页面的屏幕截图

在此示例中,Word在main程序窗口中具有打印预览支持。

  • 提供可让用户:
    • 评估页边距、分页符、页面方向、页眉和页脚。
    • 浏览所有页面。
    • 直接从打印预览打印。

请考虑提供交互式打印预览,以便用户可以直接在预览中调整频繁更改的设置,例如边距和换行符。

  • 在一秒内呈现打印预览页。 最好拥有快速呈现且足够准确的打印预览,以允许用户评估打印结果,而不是拥有完全准确的预览,呈现速度缓慢。
  • 对于高级文档创建程序,请考虑通过将预览功能直接包含在其中来扩展标准打印对话框, 而不是为其创建单独的对话框。
  • 提供用于关闭预览模式的明显按钮。

关闭打印预览图标和标签的屏幕截图

Word 中的“打印预览”模式具有明显的关闭预览命令。

打印错误

注意: 打印作业被后台打印到打印机后,Windows 将负责任何后续错误。 程序只需处理打印作业后台打印之前发生的错误。

  • 在后台打印作业之前,检查用户可解决的任何潜在打印问题。 在继续打印之前,请提供清晰、简洁的确认。 尽可能提供自动解决问题。 这样做可以防止浪费时间和金钱。

文本

  • 对于在纸张两面打印的选项,请标记选项“双面打印”。 请勿使用短语手动双工。

文档

  • 使用 print 而不是 print out 作为谓词。
  • 可以使用打印输出来引用打印作业的结果。
  • 使用打印队列,而不是打印机队列。