使用 IXpsOMPackageWriter 接口

IXpsOMPackageWriter 接口创建 XPS 文档文件,应用程序可将 XPS OM 的 IXpsOMPage 接口的内容写入其中。 在按顺序处理或创建文档内容时, IXpsOMPackageWriter 接口最有用。 与 IXpsOMPackage 接口的 WriteToFileWriteToStream 方法不同,对于 IXpsOMPackageWriter 接口,既不能使用整个 FixedDocument,也不必完成 FixedDocumentSequence。

概述

IXpsOMPackageWriter 接口一次写入一页,从 XPS 文档的第一页写入最后一页。 该接口可用于创建简单的 XPS 文档文件和复杂的 XPS 文档文件,这些文件包含 FixedDocumentSequence 中的多个 FixedDocument。 在复杂的 XPS 文档文件中,FixedDocuments 也按顺序创建,从 FixedDocumentSequence 中的第一个 FixedDocument 开始。 IXpsOMPackageWriter 接口不支持按随机顺序创建文档内容。 例如,使用它创建顺序报表或在设备驱动程序筛选器中执行处理,其中文档内容按顺序馈送到驱动程序。

术语评审

XPS 文档文件是符合 XML 纸张规范的开放式打包约定 (OPC) 包。 因此,从技术上来说, IXpsOMPackageWriter 接口会创建 OPC 包,但它是符合 XML 纸张规范的 OPC 包。 因此,在讨论 XPS 文档时, 术语 XPS 文档 通常互换使用。

IXpsOMPackageWriter 接口创建的将包含所需的 XPS 文档组件:FixedDocumentSequence、至少一个 FixedDocument 和至少一个 FixedPage。 实例化 IXpsOMPackageWriter 接口时,将创建 FixedDocumentSequence。 每次调用 IXpsOMPackageWriter::StartNewDocument 时都会创建 FixedDocument,每次调用 IXpsOMPackageWriter::AddPage 时都会创建 FixedPage。 由于接口按顺序写入文档内容, AddPage 方法会将页面添加到最近创建的 FixedDocument。

使用 IXpsOMPackageWriter 接口

以下过程介绍如何使用 IXpsOMPackageWriter 接口创建 XPS 文档文件。 此过程不描述如何实例化 IXpsOMPage 接口及其内容。 有关 IXpsOMPage 和将内容添加到页面的详细信息,请参阅“另请参阅”部分中列出的 XPS OM 页面接口 和主题。

创建文档

  1. 实例化 IXpsOMPackageWriter 接口。

    这会在包中创建空的 FixedDocumentSequence。

  2. 通过调用 IXpsOMPackageWriter::StartNewDocument "开始"菜单包中的新文档。

    在添加页面之前,请调用 IXpsOMPackageWriter::StartNewDocument,将 FixedDocument 添加到步骤 1 中创建的 FixedDocumentSequence。

  3. 添加内容。

  4. 通过调用 IXpsOMPackageWriter::Close 关闭包及其内容。

高级功能

IXpsOMPackageWriter 接口的方法还支持添加资源、缩略图和打印票证。 可以在包、FixedDocumentSequence、FixedDocument 和 FixedPage 级别添加这些文档组件。 有关使用此接口进行打印的详细信息,请参阅 打印 XPS OM

使用 XPS 数字签名 API

XPS OM 页接口

导航 XPS OM

使用 XPS OM 画布和视觉接口

使用 XPS OM 路径接口

使用 XPS OM 文本、图形和图像接口

XPS OM 打印票证接口

IXpsOMThumbnailGenerator

XPS 文档 API 参考

XML 纸张规范