如何:从Windows程序打印
本部分介绍如何从本机Windows程序打印。
概述
打印通常是本机Windows程序的组成部分。 因此,它不是在编写程序后可以轻松添加的功能。 也就是说,如果程序旨在使用 XPS 文档,则不需要太多(如果有)额外的代码来呈现文档内容以供打印。 可以将应用程序的 XPS 文档直接发送到具有 XPSDrv 打印机驱动程序的打印机。
使用 XPS 文档 API 创建文档内容, 并使用 XPS 打印 API 将文档内容发送到打印机。 XPS 打印 API 处理目标打印机的文档内容。 如果所选打印机具有 XPSDrv 打印机驱动程序,则文档将发送到打印机,而无需进行任何其他转换。 如果所选打印机具有基于 GDI 的打印机驱动程序,程序也可以将内容发送到打印机,XPS 打印 API 将转换文档内容,使其与基于 GDI 的打印机驱动程序兼容。 无论哪种情况,应用程序执行的处理都是相同的。
打印任务
以下主题介绍打印程序内容的基本步骤。
从用户收集打印作业信息。
通常,当用户从菜单中选择打印选项时启动打印作业,程序会显示一个打印对话框来收集打印作业的详细信息。 用户通常选择打印机、副本数和打印机配置详细信息,例如双面打印和装订。
有关如何执行此操作的信息,请参阅 如何:从用户收集打印作业信息。
创建进度指示器。
进度指示器为用户提供有关打印作业进度的反馈。 进度指示器可以是进度栏,它是包含作业的 “取消 ”按钮的对话框的一部分,也可以是主窗口底部状态栏中的进度栏。
有关进度指示器工作的信息,请参阅 “操作方法:显示打印作业进度”。
有关如何显示打印作业进度的更多想法,请参阅Windows应用程序 UI 开发指南中的信息。
"开始"菜单打印线程。
程序从用户收集打印作业信息后,可以启动打印线程以执行文档的实际打印处理。
有关打印线程的信息,请参阅如何:"开始"菜单和停止打印线程。
呈现打印作业数据。
打印线程呈现用于打印的文档数据。 应将此处理分解为离散处理步骤,以便用户可以中断处理并取消作业,也不允许处理线程阻止其他线程和进程。
有关如何呈现打印作业数据的信息,请参阅 “如何:呈现打印作业数据”。
监视打印作业进度。
执行每个处理步骤时,更新进度栏以告知使用情况。 计算处理步骤以完成请求的作业,然后在执行这些步骤时更新进度栏。
关闭打印作业并终止打印线程。
程序将打印作业发送到打印机后,或者如果用户取消了打印作业,则必须关闭打印作业并释放打印作业使用的资源。
相关主题