将 XPS 文档读取到 XPS OM
介绍如何将现有 XPS 文档从文件读取到 XPS OM。
若要从 XPS 文档创建 XPS OM,请调用 IXpsOMObjectFactory::CreatePackageFromFile 方法。
在程序中使用这些代码示例之前,请阅读常见的 XPS 文档编程任务中的免责声明。
代码示例
下面的代码示例假定初始化 XPS OM 中所述的初始化操作已成功。
IXpsOMPackage *package = NULL;
hr = xpsFactory->CreatePackageFromFile(
xpsDocumentFilename,
FALSE,
&package);
// package now contains a pointer to the IXpsOMPackage
// object that has been populated with the contents
// of the XPS document in xpsDocumentFilename.
// When finished with the package, release the object.
if (NULL != package) package->Release();
若要从存储为流的 XPS 文档创建 XPS OM,请调用 IXpsOMObjectFactory::CreatePackageFromStream。
备注
如果在将 XPS 包读取到 XPS OM 中后立即写入 XPS OM,则某些原始内容可能会丢失或更改。
下表列出了在这种情况下可能发生的一些更改:
文档功能 | 操作 |
---|---|
数字签名 |
从文档中移除 |
DiscardControl 部件 |
从文档中移除 |
外部文档部件 |
从文档中移除 |
FixedPage 标记 |
从原始内容修改 |
资源字典标记 |
如果设置了优化标志,则从原始内容修改 |