XPS 包内的跨包操作

通过 C++ 操作 XPS 包中的页面、颜色和字形 (Glyphs)

 

用于 C++ 的 Aspose.Page API 提供了用于处理 XPS 文件的独立类库,使您可以将它们作为一种独特的格式进行处理。该类库拥有多种有用的功能,包括合并 XPS 文档、将其转换为其他格式,以及在其内操纵图形。

XPS 文件的一个关键特性是它们能够在单个文档中包含多个文件。因此,Aspose.Page XPS 类库提供了管理这些内部文件及其页面的功能。这些称为“跨包操作 (cross-package operations)”的操作,涉及跨不同 XPS 文档操作内容。

本节将深入探讨跨包操作的具体示例,例如管理单个 XPS 文档中的页面,以及添加具有特定颜色的文本(字形)。

但是要尝试该功能,您首先需要获取解决方案:

  • 打开 NuGet 包管理器 (Package Manager),搜索 Aspose.Page 并安装。您也可以在程序包管理器控制台 (Package Manager Console) 中使用以下命令。

在 XPS Package C++ 中操作页面的步骤。

  1. 设置文档目录的路径。
  2. 使用 XpsDocument 类 创建一个 XPS 文件。
  3. 要将活动页面从一个文档插入到另一个文档的开头,请使用 InsertPage() 方法。
  4. 要将活动页面从一个文档插入到另一个文档的末尾,请使用 AddPage() 方法。
  5. 要删除空白页,请使用 RemovePage() 方法。
  6. 要将页面从一个文档删除(移动)到另一个文档,请使用 InsertPage()SelectActivePage() 方法。
  7. 使用 XPsDocument.Save 方法保存更改后的 XPS 文档。
操作页面

在 XPS Package C++ 内添加字形克隆的步骤。

  1. 设置文档目录的路径。
  2. 打开 XPS 文件的流 (stream)。
  3. 使用 XpsDocument 类创建一个 XPS 文件。
  4. 使用 AddGlyphs() 方法将字形添加到文档中。
  5. 使用 XpsDocument 类创建第二个 XPS 文件。
  6. 要将字形从第一个文件克隆(复制)到第二个文件,请使用 Add()Clone() 方法。
  7. 通过 XPsDocument.Save() 方法保存两个 XPS 文档。
添加字形克隆并更改颜色

添加图像填充的字形 C++ 的步骤。

  1. 设置文档目录的路径。
  2. 打开 XPS 文件的流。
  3. 使用 XpsDocument 类创建一个 XPS 文件。
  4. 使用 AddGlyphs() 方法将字形添加到文档中。
  5. 要用图像笔刷 (image brush) 填充字形,请使用 CreateImageBrush() 方法。
  6. 使用 XpsDocument 类创建第二个 XPS 文件。
  7. 使用 AddGlyphs() 方法将带有第一个文档字体的字形添加到第二个文档中。
  8. 从第一个文档的填充创建图像笔刷,并使用 CreateImageBrush() 方法填充第二个文档中的字形。
  9. 通过 XPsDocument.Save() 方法保存两个 XPS 文档。
添加图像填充字形和外部图像

XPS 什么是XPS文件格式

XPS(XML Paper Specification)是 Microsoft 的 PDF 替代方案,基于 XML/HTML,跨平台保持布局一致,且不依赖操作系统。