IXpsOMObjectFactory::CreatePackageWriterOnStream 方法 (xpsobjectmodel.h)
打开一个流,用于将 XPS OM 的内容写入 XPS 包。
语法
HRESULT CreatePackageWriterOnStream(
[in] ISequentialStream *outputStream,
[in] BOOL optimizeMarkupSize,
[in] XPS_INTERLEAVING interleaving,
[in] IOpcPartUri *documentSequencePartName,
[in] IXpsOMCoreProperties *coreProperties,
[in] IXpsOMImageResource *packageThumbnail,
[in] IXpsOMPrintTicketResource *documentSequencePrintTicket,
[in] IOpcPartUri *discardControlPartName,
[out, retval] IXpsOMPackageWriter **packageWriter
);
参数
[in] outputStream
要用于写入的流。
[in] optimizeMarkupSize
一个布尔值,指示在将文档写入流时是否针对大小优化文档标记。
值 | 含义 |
---|---|
|
写入流时,包编写器将尝试优化标记的最小大小。 |
|
写入包时,包编写器不会尝试任何优化。 |
[in] interleaving
指定 XPS OM 的内容在写入流时是否交错。
[in] documentSequencePartName
包含新文件中文档序列的部件名称的 IOpcPartUri 接口。
[in] coreProperties
IXpsOMCoreProperties 接口,其中包含要提供给新文件的核心文档属性。 此参数可以设置为 NULL。
[in] packageThumbnail
IXpsOMImageResource 接口,其中包含要分配给新文件的缩略图图像。 此参数可以设置为 NULL。
[in] documentSequencePrintTicket
IXpsOMPrintTicketResource 接口,其中包含要分配给新文件的包级打印票证。 此参数可以设置为 NULL。
[in] discardControlPartName
包含放弃控件部件名称的 IOpcPartUri 接口。 此参数可以设置为 NULL。
[out, retval] packageWriter
指向此方法创建的新 IXpsOMPackageWriter 接口的指针。
返回值
该方法返回 HRESULT。 可能的值包括但不限于后面的表中的值。 有关此表中未列出的 XPS 文档 API 返回值的信息,请参阅 XPS 文档错误。
返回代码 | 说明 |
---|---|
|
方法成功。 |
|
outputStream、 documentSequencePartName 或 packageWriter 为 NULL。 |
|
coreProperties、 documentSequencePrintTicket 或 packageThumbnail 不指向已识别的接口实现。 不支持 XPS 文档 API 接口的自定义实现。 |
此方法调用 打包 API。 有关打包 API 返回值的信息,请参阅 打包错误。
注解
将打开并初始化流,然后使用返回的 IXpsOMPackageWriter 接口编写内容类型、包关系、核心属性、文档序列资源和文档序列关系。
如果 documentSequencePrintTicket 设置为 NULL 并且 交错 值 XPS_INTERLEAVING_ON,此方法将创建一个空白作业级打印票证,并将关系添加到空白打印票证。 这样做是为了更高效地使用包。
如果 documentSequencePrintTicket 设置为 NULL 并且 交错 值 XPS_INTERLEAVING_OFF,则不会创建空白打印票证。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 7、带 SP2 的 Windows Vista 和适用于 Windows Vista 的平台更新 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows Server 2008 R2、Windows Server 2008 SP2 和适用于 Windows Server 2008 的平台更新 [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | xpsobjectmodel.h |