打开一个流,用于将 XPS OM 的内容写入 XPS 包。
Syntax
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
一个布尔值,该值指示将文档标记写入流时是否针对大小进行优化。
| 价值 | Meaning |
|---|---|
|
写入流时,包编写器将尝试优化最小大小的标记。 |
|
写入包时,包编写器不会尝试任何优化。 |
[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 文档错误。
| 返回代码 | Description |
|---|---|
|
方法成功。 |
|
outputStream、 documentSequencePartName 或 packageWriter 为 NULL。 |
|
coreProperties、 documentSequencePrintTicket 或 packageThumbnail 不指向已识别的接口实现。 不支持 XPS 文档 API 接口的自定义实现。 |
此方法调用 打包 API。 有关打包 API 返回值的信息,请参阅 “打包错误”。
注解
流打开并初始化,然后返回的 IXpsOMPackageWriter 接口用于编写内容类型、包关系、核心属性、文档序列资源和文档序列关系。
如果 documentSequencePrintTicket 设置为 NULL 并且 交错 值 XPS_INTERLEAVING_ON,此方法将创建一个空白作业级打印票证,并将关系添加到空白打印票证。 这样做是为了提供包的更高效的流式处理消耗。
如果 documentSequencePrintTicket 设置为 NULL ,并且 交错 的值 XPS_INTERLEAVING_OFF,则不会创建空白打印票证。
要求
| Requirement | 价值 |
|---|---|
| 最低支持的客户端 | 适用于 Windows Vista 的 Windows 7、带有 SP2 和平台更新的 Windows Vista [桌面应用 |UWP 应用] |
| 支持的最低服务器 | Windows Server 2008 R2、Windows Server 2008 SP2 和 Platform Update for Windows Server 2008 [桌面应用 |UWP 应用] |
| 目标平台 | Windows操作系统 |
| Header | xpsobjectmodel.h |