IXpsOMPackageWriter::StartNewDocument 方法 (xpsobjectmodel.h)

在包的 FixedDocumentSequence 中打开并初始化新的 FixedDocument。

语法

HRESULT StartNewDocument(
  [in] IOpcPartUri                            *documentPartName,
  [in] IXpsOMPrintTicketResource              *documentPrintTicket,
  [in] IXpsOMDocumentStructureResource        *documentStructure,
  [in] IXpsOMSignatureBlockResourceCollection *signatureBlockResources,
  [in] IXpsOMPartUriCollection                *restrictedFonts
);

参数

[in] documentPartName

指向 IOpcPartUri 接口的指针,该接口包含新文档的部件名称。

[in] documentPrintTicket

指向包含文档级打印票证的 IXpsOMPrintTicketResource 接口的指针。 如果此包没有文档级打印票证,则可以将此参数设置为 NULL。 请参见备注。

[in] documentStructure

指向 IXpsOMDocumentStructureResource 接口的指针,该接口包含初始文档结构资源(如果该资源可用);如果不可用,则可以将此参数设置为 NULL

[in] signatureBlockResources

指向 IXpsOMSignatureBlockResourceCollection 接口的指针,该接口包含要附加到文档的数字签名集合。 如果没有要附加的数字签名,则可以将此参数设置为 NULL

[in] restrictedFonts

指向 IXpsOMPartUriCollection 接口的指针,该接口包含必须为字体编写受限字体关系的字体。 在调用 AddResourceClose 之前,不会写入字体数据。

如果文档不包含任何受限字体,则可以将此参数设置为 NULL

返回值

该方法返回 HRESULT。 可能的值包括但不限于下表中的值。 有关此表中未列出的 XPS 文档 API 返回值的信息,请参阅 XPS 文档错误

返回代码 说明
S_OK
方法成功。
XPS_E_UNAVAILABLE_PACKAGE
发生严重错误,XPS OM 的内容可能无法恢复。 XPS OM 的某些组件可能仍可用,但只有在经过验证后才能使用。 由于在返回此错误后无法预测 XPS OM 的状态,因此应释放并丢弃 XPS OM 的所有组件。
XPS_E_UNEXPECTED_RESTRICTED_FONT_RELATIONSHIP
在 restrictedFonts 中传递的受限字体集合包含不受限制的字体。
 

此方法调用 打包 API。 有关打包 API 返回值的信息,请参阅 打包错误

注解

必须先调用此方法,然后才能调用 AddPage 以写入 IXpsOMPage 接口的内容。

实例化 IXpsOMPackageWriter 接口后,该包仅包含一个空的固定文档序列部分。 首次调用此方法时,FixedDocument 部件将添加到固定文档序列部件, AddPage 方法将向该 FixedDocument 部件添加页面。 每次在第一次之后调用此方法时,当前 FixedDocument 部件都会关闭,并打开一个新的 FixedDocument 部件并将其添加到固定文档序列部件。 对 AddPage 方法的所有后续调用都会将页面添加到最近打开的 FixedDocument 部件。 此接口不支持将页面添加到已关闭的 FixedDocument 部件。

如果 documentPrintTicket 包含 NULL 指针,并且包编写器是在交错设置为 XPS_INTERLEAVING_ON 的情况下创建的,则此方法将创建一个空白文档级打印票证(如果尚不存在)。 每次在 documentPrintTicket 中使用 NULL 指针调用此方法时,都会从新文档添加到空白打印票证。 这样做是为了提供包的更高效的流式处理消耗。

如果 documentPrintTicket 包含 NULL 指针,并且创建包编写器时交错设置为 XPS_INTERLEAVING_OFF,则不会创建空白打印票证。

注意 在包中创建新文档不会自动为 XPS 文档创建缩略图。 若要创建 XPS 文档的缩略图,请使用 IXpsOMThumbnailGenerator 接口。
 

要求

要求
最低受支持的客户端 Windows 7、带 SP2 的 Windows Vista 和适用于 Windows Vista 的平台更新 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2008 R2、Windows Server 2008 SP2 和适用于 Windows Server 2008 的平台更新 [桌面应用 |UWP 应用]
目标平台 Windows
标头 xpsobjectmodel.h

另请参阅

IOpcPartUri

IXpsOMDocumentStructureResource

IXpsOMPackageWriter

IXpsOMPackageWriter3D

IXpsOMPrintTicketResource

IXpsOMSignatureBlockResourceCollection

打包错误

使用 IXpsOMPackageWriter 接口

XML 纸张规范

XPS 文档错误