windows:Experiences/printing
出自UXGuide.net
打印
Printing
目录 |
本文中的“打印”是指当直接输出在纸张上而非屏幕显示时,在纸张上的用户体验。“打印版(Printer-friendly format)”是指程序可以对屏幕显示输出的内容修改后适用于纸张输出的版本。
尽管人们以为计算机能够带来“无纸化办公”,但我们惊讶地发现,我们仍然在大量地进行着打印。我们会在桌上分发 Microsoft® PowerPoint® 演示文稿的打印复本,打印从网上找到的但打算稍候再仔细研究的文档,或是打印重要的电子邮件或收到的电子格式的简历等等。虽然在设计用户界面时很容易忽视打印,但要记住,打印是整体用户体验的重要组成部分。
注:与通用对话框相关的设计规范请参考各自相应的章节。
这样的用户界面是否正确?
考虑下列问题以确定你的程序是否需要支持打印:
- 你在设计的程序是什么类型的?程序类型很好地表明了需要支持打印的大致程度。创建、查看及浏览文档和图像的程序需要极好的对打印的支持,而其他类型的程序则可能只需要较低等级的打印支持。(关于程序类型列表,请参阅本文中的打印模式部分。)
- 该程序是否会在需要直接纸张输出的情况下使用?如果会,让你的程序支持打印比让用户把数据复制到另一个程序里打印要方便的多。
设计理念
设计你的程序以避免不必要的打印
有很多理由来解释用户为什么需要打印——有些是好的,而有些则不然。用户应当能够进行打印,因为他们想这么做,而不是必须这么做。要求用户进行打印可能是功能缺失的标志。例如,在过去,用户需要打印文档是为了添加批注和修改建议,而如今用户可以直接在 Microsoft Word 文档中完成这些工作。检查你程序中那些涉及打印的使用情境,最好的可能性是,确保用户并非必须打印,而且不是因为功能的缺失。
还有一点需要记住的是,节约纸张和墨水这样的资源有助于环境保护,并可以为组织的长期运行节约金钱。
理解屏幕显示与打印的区别
虽然显示输出与打印有诸多相似之处,但也有许多差别。打印输出的特点有:
- 分辨率很高。显示输出通常为 96 或 120 dpi,而打印机的输出通常在 600 dpi 或更高。
- 理想的字体不同。虽然设计良好的字体对于显示和打印都适用,但在高分辨率下,带衬线的字体对于大量文本来说比无衬线字体的可读性更强。也就是说,主要用于打印的大量文本应当使用带衬线字体,而主要用于显示的文本应当使用无衬线字体。关于更多信息,请参见字体(Segoe UI)。
- 页面更加狭长。屏幕显示的windows:Aspect Ratio长宽比通常较宽(4:3 或 5:4),而打印的长宽比则较窄(标准的页面尺寸是 8.5:11 或 1:1.4142)。这是因为在打印时纵向模式比横向模式用得要多得多。
- 分页。因此,打印输出:
- 具有标准的页面尺寸。在美国和加拿大,标准纸张尺寸为 8.5 x 11 英寸,而在其他地方则使用 A4 纸。
- 需要分页。
- 具有页边距。
- 具有页眉与页脚。
- 可以是单面或双面打印。
- 可能打印多份。
- 可能不按顺序打印或选择性地打印。
- 选项很多。用户可能想选择打印机和纸张大小、打印机选项(比如打印质量、双面打印、装订方式等)、打印份数、页面范围、整理方式及打印格式等。
- 花费时间和金钱。打印长文档或高分辨率的照片可能会花费巨大的时间,而且纸张与墨水的成本也会随时间而增长。相反,显示输出可瞬间完成且基本上没有成本。
- 可能是黑白的。当今很多打印机都是黑白的,而只有很少的显示器是单色的了。
- 没有交互性。用户不可能滚动页面或控件来查看更多内容。他们也无法单击链接或按钮,或者是悬停在某控件上。一旦打印出来,交互式内容就没有任何价值。
- 可能会缺纸、墨水或墨粉不足、或者是打印机脱机。因此,纸张输出需要更多的错误处理和疑难解答。
这些区别可能会影响你的打印设计。创建好的打印体验不仅仅是简单地把程序输出的内容重定向到打印机。
所见即所得与屏幕显示的需求演进
历史上,人们认为打印用户体验的最基本原则是所见即所得(WYSIWYG,what you see is what you get)。该原则认为,一份文档在屏幕上的显示与打印出来的版本应当具有强烈的关联性。在所见即所得成为实践标准之前,一份文档在屏幕上的显示与打印出来的版本通常没有什么联系。用户需要通过打印才能知道文档在纸上究竟是什么样子。所见即所得的使用极大地提高了工作效率,因为当时大多数程序都是主要为创建和打印文档而设计的。
如今,网站为屏幕显示而优化,且其打印版看起来差别很大的作法已经很普遍。此外,我们拥有各种各样的计算设备(如智能电话、数字个人助理)往往需要为小屏幕输出进行优化。虽然所见即所得对于创建文档的程序来说仍然是最好的方式,但对于其他程序来说,为不同的目标设备优化更为合适。对于这类程序,你在 PC 屏幕上看到的内容可能和在其他设备显示屏上看到的不同,与打印出来的样子也可能不同。
为打印优化
没有严格的所见即所得打印体验的程序仍然可以通过下列途径为打印进行优化:
- 为目标页面尺寸重新调整布局。
- 提供打印预览功能,最好让用户能够直接在打印对话框内方便地尝试调整选项(例如,拖动页边距)。
- 如果可能,提供打印版选项。
- 将分开的文档片断连接成单个文档。
- 移去背景和其他设计元素,如广告,尤其当它们不适合于黑白打印机时。
- 移去交互元素,如导航控件及命令按钮。
- 确保所有数据在没有滚动条或悬停操作时都可见。
- 显示版本:
-
- 打印版本:
-
- 在打印版本中,所有数据都是可见的,交互元素则被移去了。
- 将链接替换为等价文本。
- 可以接受:
- 更多信息,请参见 UX 规范。
- 为打印优化:
- 更多信息,请参见 UX 规范(http://www.vistauxguide.com)。
- 将深色背景上的浅色文本转换为白色背景上的深色文本。
Include the right print options
The Print options common dialog provides options to:
- Select the printer and paper size.
- Set printer properties.
- Select the page range, number of copies, and collation.
- Use both sides of the paper.
Your program may require additional options, such as document content options (which content to print), format options (how to print, including print quality, picture sizes, fitting to frame), and color options. If you need to provide additional options, do so by extending the Print options common dialog. Don't create a custom Print dialog box.
When designing the Print options, consider the experience when printing multiple documents. Chances are the next print job will be very similar to the last print job. Optimize the default settings for reprints and similar print jobs—don't make users start over completely each time.
Design print preview for performance and usability
An incorrect print job wastes time and money. For document creation programs, users should be able to evaluate the results before doing the actual printing. A print preview should allow users to:
- Evaluate margins, page breaks, page orientation, headers, and footers.
- Browse through all the pages.
- Print directly from the print preview.
Some complex documents (such as computer-aided design [CAD] drawings) can take a long time to render. The performance of the preview is important—a print preview can become quite tedious if it takes awhile to render each page. Consequently, it's better to have a print preview that renders quickly and is accurate enough to allow users to evaluate the print results than to have a completely accurate preview that renders slowly.
When designing the print preview, consider the whole task of preparing to print. What are users going to be looking for? What are they going to change? Document creation programs should provide an interactive print preview so that users can adjust frequently changed settings like margins and line breaks within the preview.
However, to the best extent possible, your program should do the right thing by default. When necessary, warn about printing situations that are unlikely to be what the user intended. Don't rely on users finding problems using the print preview. For example, suppose a spreadsheet has too many columns to print on a single page in portrait mode. While the program could present a confirmation dialog box, a better solution is to print in landscape mode automatically.
If you do only five things...
- Design a printing experience appropriate for your program type.
- Review your program's scenarios that involve printing and to the best extent possible, make the need to print optional.
- Provide useful printing extensions by customizing the Print common dialog. Don't create a custom Print dialog box for this purpose.
- Optimize the Print options for reprints and similar print jobs.
- Provide a preview feature whenever appropriate.
Printing patterns
The type of program is the primary indicator of the appropriate printing experience:
|
Advanced document creation Used to create, view, and print high-end documents. The ability to create high-quality printouts is one of the main reasons why the program exists. Targeted at expert users. |
User goals: Perfect results—detailed control over the print output. Example: Microsoft Word Recommended printing experience:
|
|
Intermediate document creation Used to create and view more complex documents. The ability to create good-quality printouts is important, but not necessarily one of the main reasons why the program exists. Targeted at intermediate users. |
User goals: Good results with minimal effort. Some control over the print output. Examples: Most Microsoft Office programs, such as Outlook® and Excel®. Recommended printing experience:
|
|
Simple document creation Used to create and view simple documents. Targeted at all users. |
User goals: Basic printing support with standard printing options. Users expect good results without any tweaking. Examples: WordPad, Paint. Recommended printing experience:
|
|
Document viewers Used to view documents. Users can't change the document content or format. |
User goals: Basic printing support with standard printing options. Users expect good results without any tweaking. Printing problems are handled automatically because users can't modify the document. Example: Windows® Internet Explorer® Recommended printing experience:
|
|
Utilities or line-of-business applications Used to perform simple, specific tasks. Targeted at all users. |
User goals: Ability to export selected data efficiently. Users expect good results without any tweaking. Often for such programs, users are pleasantly surprised to find any printing support at all. Recommended printing experience:
|
Guidelines
General
- Don't print blank pages or pages with just headers and footers. However, print blank pages if the headers or footers contain page numbers and those page numbers might referenced elsewhere.
- Completely spool out any pending print jobs before shutting down a program.
Formatting pages
- Reformat text layout to fit within the target page size. Never truncate text.
- If users don't control the format of the document:
- Automatically handle large objects by scaling, rotating, or splitting across pages. For more guidelines about printing large objects, see Oversized objects.
- Optimize the page breaks to eliminate blank and nearly blank pages.
- Convert light text on a dark background to dark text on a white background.
- Remove backgrounds and other design elements, especially if they are unsuitable for a black and white printer.
- If your program presents separate partial documents, provide a printer-friendly format option to consolidate them into a single document for printing.
- Remove interactive elements:
- Remove navigation controls and command buttons.
- Make sure that all data is visible without scrollbars.
- Replace links with their text equivalent.
- Acceptable:
- For more information, see UX Guide.
- Optimized for printing:
- For more information, see UX Guide (http://www.vistauxguide.com/).
- In this example, the link is replaced with its text equivalent in parentheses.
- Move useful information displayed on hover to inline.
Oversized objects
Handling large objects, such as spreadsheets, graphics, and photos, is a problem unique to printing. Choose one of the following approaches:
- Scale the object to fit on the page. This approach works well if the object is only slightly too large to print, keeping the object on a single page is important, and the object is still legible when scaled down.
-
- In this example, the large image is scaled to fit on the page.
- Rotate the page. This approach works well when a few pages print better in landscape mode when in portrait mode (and vice versa).
-
- In this example, the large image is rotated to fit better on the page.
- Print the object on several pages. The approach works well when the object can't be scaled, or shouldn't be scaled, and rotating the page doesn't help or isn't wanted. If the object has internal boundaries (such as the column and row dividers in a spreadsheet), break the pages on these boundaries instead of within the content. Also, repeat any elements required to understand the page, such as legends or column headers. When splitting an object on several pages, assign the page numbers in reading order (left to right, top to bottom).
-
- In this example, the large table is printed on two pages. Column headers persist from page to page to facilitate quick comprehension.
- Truncate the object (printing only the part of the object still visible after truncation). This approach is the simplest solution to implement, but likely to be the least acceptable. Also note that truncating is never acceptable for text.
-
- In this example, the large image is truncated.
- Provide headers and footers for advanced and intermediate document creation programs. Consider providing headers and footers for other types of programs if they are used for multipage documents.
- Make headers and footers customizable. Allow users to define the left, center, and right portions.
- For headers, put the document name on the left side by default.
- For footers, put the document copyright or source on the left side, and the page number on the right side, by default.
- Use friendly file path and URLs. Display spaces as spaces, not "%20."
Print commands
- For menu bars and shortcut menus, use the Print command that displays the Print options common dialog. Use an ellipsis to indicate that additional information is required.
-
- In this example, the Print command has an ellipsis to indicate that it will display the Print options common dialog to get more information.
- For toolbars used with a menu bar, use an immediate Print command. Clicking the button prints a single copy of the document to the default printer. Such toolbar commands should be immediate. To indicate that the command is immediate, put the default printer in the tooltip. Users can access the full Print command from the menu bar.
-
- In this example, the Print command in a toolbar prints immediately instead of displaying the Print options common dialog. Putting the default printer in the tooltip provides textual reinforcement that the user is bypassing the dialog.
- For toolbars used without a menu bar, use a Print split button. Clicking the button prints a single copy of the document to the default printer. Clicking the arrow portion of the button drops down a menu with full Print, Print preview, and Page setup commands.
-
- In this example, the Windows Internet Explorer toolbar uses a split button control to provide all the print commands.
- For the Ribbon command user interface, put the Print command in the application menu.
-
- For Ribbons, the Print command is accessed using the application menu.
Print options
- Don't create a custom Print options dialog box. If you must provide additional options, extend the Print options common dialog. Don't use a separate dialog for additional Print options.
- Incorrect:
-
- In this example, Fabrikam incorrectly uses a separate dialog for additional print options.
- Developers: For information about how to extend the Print common dialog, see PRINTDLGEX Structure.
- When extending the Print options common dialog, don't duplicate any features already provided.
- If users are likely to maintain settings from one print job to the next, make those settings the defaults. For the first print job after program launch, use the standard default values, including the default printer. For subsequent print jobs in the program instance, preserve the last selected printer and paper size. Don't preserve the number of copies or page ranges, because these are far less likely to be reselected later.
- Optimize the settings by removing options that currently don't apply. Remove options that are inconsistent with the capabilities of the selected printer or characteristics of the current document. For example, a photo printing application could limit the combinations of paper size, paper type, and print quality that give the best results, so choosing a glossy paper option might remove envelopes from the paper formats. If for any reason users want to see all the options, you can provide this ability through a control such as a check box.
- Developers: To learn how to determine the capabilities of the selected printer, see Print Schema.
- For advanced document creation programs, save the document-related print options within the document itself. For these programs, the print options are an integral part of the document.
- For other types of programs, save settings on a per-user basis.
- Consider selecting a non-default printer for specialized printing. For example, a photo printing application could always select the printer last used by the program, regardless of the system default printer. Doing so assumes that the system default printer isn't likely to be a photo printer. Such programs should save the setting for the last selected printer.
- Don't lock up your program while detecting printer capabilities. Doing so presents a poor user experience. Instead, either:
- Perform the printer capability detection in a separate thread.
- Time out after 10 seconds.
- Provide a dialog box to allow users to cancel.
-
- In this example, the dialog box makes it easy to cancel the printer capability detection if the user decides the task is taking too long.
Print previews
- Provide a print preview feature whenever appropriate. All document creation programs benefit from print previews, but users don't expect them in simple document creation programs. For advanced document creation programs, consider having print preview support directly within the main program window.
-
- In this example, Word has print preview support within the main program window.
- Provide print preview features that allow users to:
- Evaluate margins, page breaks, page orientation, headers, and footers.
- Browse through all the pages.
- Print directly from the print preview.
- Consider providing an interactive print preview so that users can adjust frequently changed settings like margins and line breaks directly within the preview.
- Have print preview pages render within one second. It's better to have a print preview that renders quickly and is accurate enough to allow users to evaluate the print results than to have a completely accurate preview that renders slowly.
- For advanced document creation programs, consider extending the standard Print dialog box by incorporating preview functionality directly within it, rather than creating a separate dialog for it.
- Provide an obvious button for closing preview mode.
-
- The Print Preview mode in Word has an obvious close preview command.
Printing errors
Note: Once the print job has been spooled to the printer, Windows is responsible for any subsequent errors. Your program only has to handle errors that happen before the print job is spooled.
- Before spooling a print job, check for any potential printing problems the user can fix. Present a clear, concise confirmation before continuing to print. Whenever possible, offer to fix the problem automatically. Doing so can prevent a waste of time and money.
Text
- For the option to print on both sides of the paper, label the option Print double-sided. Don't use the phrase Manual Duplex.
文档编写
- 使用动词“print(打印)”,而非“print out(打印输出)”。
- 可以使用“printout(打印输出)”来指打印作业的结果。
- 使用“print queue(打印队列)”,而非“printer queue(打印机队列)”。