将 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 标记
从原始内容修改
资源字典标记
如果设置了优化标志,则从原始内容修改

后续步骤

导航 XPS OM

将文本写入 XPS OM

在 XPS OM 中绘制图形

将图像放置在 XPS OM 中

本节使用的步骤

IXpsOMObjectFactory

IXpsOMPackage

详细信息

初始化 XPS OM

打包 API

XPS 文档 API 参考

XML 纸张规格