将 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,则某些原始内容可能会丢失或更改。

此类情况下可能发生的一些更改在下表中列出:

文档功能 行动
数字签名
从文档中删除
DiscardControl 部件
从文档中删除
外部文档部件
从文档中删除
FixedPage 标记
修改自原始
资源字典标记
如果设置了优化标志,则从原始标志进行修改

后续步骤

导航 XPS OM

将文本写入 XPS OM

在 XPS OM 绘制图形

将映像放置在 XPS OM

本部分 中使用的

IXpsOMObjectFactory

IXpsOMPackage

有关详细信息,

初始化 XPS OM

打包 API

XPS 文档 API 参考

XML 纸张规范