XPSパッケージ内のパッケージ間操作

C++を介してXPSパッケージ内のページ、色、グリフ(文字)を操作する

 

C++用のAspose.Page APIは、XPSファイルを操作するための個別のライブラリを提供しており、XPSファイルを個別のフォーマットとして扱うことができます。このライブラリには、XPSドキュメントのマージ、他のフォーマットへの変換、その中のグラフィックの操作など、さまざまな便利な機能が備わっています。

XPSファイルの重要な側面の1つは、単一のドキュメント内に複数のファイルを含めることができる点です。その結果、Aspose.Page XPSライブラリは、これらの内部ファイルとそのページを管理するための機能を提供します。これらの操作は、「パッケージ間操作(cross-package operations)」と呼ばれ、異なるXPSドキュメント間でコンテンツを操作することを伴います。

このセクションでは、単一のXPSドキュメント内のページの管理や、特定の色を持つテキスト(グリフ)の追加など、パッケージ間操作の具体的な例について詳しく説明します。

ただし、機能を試すには、まずソリューションを取得する必要があります:

  • NuGetパッケージマネージャーを開き、Aspose.Pageを検索してインストールします。 パッケージマネージャーコンソール(Package Manager Console)から次のコマンドを使用することもできます。

XPSパッケージC++内でページを操作する手順。

  1. ドキュメントディレクトリへのパスを設定します。
  2. XpsDocument クラス を使用してXPSファイルを作成します。
  3. あるドキュメントのアクティブなページを別のドキュメントの先頭に挿入するには、 InsertPage() メソッドを使用します。
  4. あるドキュメントのアクティブなページを別のドキュメントの最後に挿入するには、 AddPage() メソッドを使用します。
  5. 空のページを削除するには、 RemovePage() メソッドを使用します。
  6. あるドキュメントから別のドキュメントにページを削除(移動)するには、InsertPage() および SelectActivePage() メソッドを使用します。
  7. XPsDocument.Save メソッドを使用して、変更されたXPSドキュメントを保存します。
ページの操作

XPSパッケージC++内にグリフのクローンを追加する手順。

  1. ドキュメントディレクトリへのパスを設定します。
  2. XPSファイルのストリームを開きます。
  3. XpsDocument クラスを使用してXPSファイルを作成します。
  4. AddGlyphs() メソッドを使用して、ドキュメントにグリフを追加します。
  5. XpsDocument クラスを使用して2番目のXPSファイルを作成します。
  6. 最初のファイルから2番目のファイルにグリフをクローン(複製)するには、Add() および Clone() メソッドを使用します。
  7. *XPsDocument.Save()*メソッドを使用して両方のXPSドキュメントを保存します。
グリフのクローンを追加し、色を変更する

画像で塗りつぶされたグリフC++を追加する手順。

  1. ドキュメントディレクトリへのパスを設定します。
  2. XPSファイルのストリームを開きます。
  3. XpsDocument クラスを使用してXPSファイルを作成します。
  4. *AddGlyphs()*メソッドを使用して、ドキュメントにグリフを追加します。
  5. グリフをイメージブラシで塗りつぶすには、 CreateImageBrush() メソッドを使用します。
  6. XpsDocument クラスを使用して2番目のXPSファイルを作成します。
  7. *AddGlyphs()*メソッドを使用して、最初のドキュメントのフォントを使用して2番目のドキュメントにグリフを追加します。
  8. 最初のドキュメントの塗りつぶしからイメージブラシを作成し、*CreateImageBrush()*メソッドを使用して2番目のドキュメントのグリフを塗りつぶします。
  9. *XPsDocument.Save()*メソッドを使用して両方のXPSドキュメントを保存します。
画像で塗りつぶされたグリフと外部ベクトル画像を追加する

XPS XPS ファイル形式とは

XPS (XML Paper Specification) は、Microsoft が提供する PDF の代替フォーマットです。XML/HTML ベースで、プラットフォームに依存せずレイアウトを保持します。