IXpsOMObjectFactory::CreatePackageWriterOnFile 方法 (xpsobjectmodel.h)
打开一个文件,用于将 XPS OM 的内容写入 XPS 包。
语法
HRESULT CreatePackageWriterOnFile(
[in] LPCWSTR fileName,
[in] LPSECURITY_ATTRIBUTES securityAttributes,
[in] DWORD flagsAndAttributes,
[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] fileName
要创建的文件的名称。
[in] securityAttributes
SECURITY_ATTRIBUTES 结构,其中包含两个单独的但相关的成员:
- lpSecurityDescriptor:可选安全描述符
- bInheritHandle:一个布尔值,用于确定返回的句柄是否可以由子进程继承
有关 securityAttributes的详细信息,请参阅 CreateFile。
[in] flagsAndAttributes
指定要创建的文件的设置和属性。 对于大多数文件,可以使用 FILE_ATTRIBUTE_NORMAL 值。
有关此参数的详细信息,请参阅 CreateFile。
[in] optimizeMarkupSize
一个布尔值,该值指示将 XPS OM 的内容写入 XPS 包时文档标记是否针对大小进行优化。
价值 | 意义 |
---|---|
|
包编写器将尝试优化最小大小的标记。 |
|
包编写器不会尝试执行任何优化。 |
[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 文档错误。
返回代码 | 描述 |
---|---|
|
方法成功。 |
|
文件名、documentSequencePartName,或 packageWriterNULL。 |
|
coreProperties、documentSequencePrintTicket或 packageThumbnail 不指向已识别的接口实现。 不支持 XPS 文档 API 接口的自定义实现。 |
此方法调用 打包 API。 有关打包 API 返回值的信息,请参阅 打包错误。
言论
文件打开并初始化,IXpsOMPackageWriter 接口,然后返回该接口用于写入内容类型、包关系、核心属性、文档序列资源和文档序列关系。
如果 documentSequencePrintTicket 设置为 NULL,并且 交错 的值 XPS_INTERLEAVING_ON,此方法将创建一个空白作业级打印票证,并将关系添加到空白打印票证。 这样做是为了提供包的更高效的流式处理消耗。
如果 documentSequencePrintTicket 设置为 NULL,并且 交错 的值 XPS_INTERLEAVING_OFF,则不会创建空白打印票证。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 适用于 Windows Vista 的 Windows 7、带有 SP2 和平台更新的 Windows Vista [桌面应用 |UWP 应用] |
支持的最低服务器 | Windows Server 2008 R2、Windows Server 2008 SP2 和 Platform Update for Windows Server 2008 [桌面应用 |UWP 应用] |
目标平台 | 窗户 |
标头 | xpsobjectmodel.h |
另请参阅