テキスト画像の挿入XPSC++

XPSファイルを簡単に作成、編集、操作できます。さらに、必要に応じてコンテンツとその位置を制御できます。 C++言語を使用して、プログラムでXPSファイルに画像またはテキストを挿入できます。次のトピックで、この機能について詳しく見ていきましょう。

XPSファイルのテキストまたは画像コンテンツの操作-APIのインストール

C++アプリケーションのXPSファイルにテキストまたは画像のコンテンツを追加できます。要件に応じてジョブを実行できるAPI呼び出しはほとんどないため、ドキュメントのファイル形式に関する詳細を考慮する必要はありません。 Aspose.Page for C++ APIは、New Releasesからダウンロードするか、以下のNuGetインストールコマンドを使用して簡単に構成できます。

PM> Install-Package Aspose.Page.Cpp

C++を使用してXPSファイルにテキストを追加する

XPSファイルでテキストを使用して、図面、画像、またはその他のコンテンツにラベルを付けることができます。同様に、ファイルの透かしとしてテキストを使用することもできます。 XPSファイルにテキストを追加または挿入するには、以下の手順に従う必要があります。

  1. 新しい[XPSドキュメント]を作成します(https://reference.aspose.com/page/cpp/class/aspose.page.xps.xpsdocument/)
  2. テキストを追加するためのブラシを作成する
  3. ドキュメントにグリフを追加する
  4. 出力XPSドキュメントを保存する

以下のコードは、C++を使用してXPSファイルにテキストを追加する方法を示しています。

// 新しいXPSドキュメントを作成する
auto doc = System::MakeObject<XpsDocument>();

//ブラシを作成する 
System::SharedPtr<XpsSolidColorBrush> textFill = doc->CreateSolidColorBrush(System::Drawing::Color::get_Black());

//ドキュメントにグリフを追加する
System::SharedPtr<XpsGlyphs> glyphs = doc->AddGlyphs(u"Arial", 12.0f, System::Drawing::FontStyle::Regular, 300.f, 450.f, u"Hello World!");
glyphs->set_Fill(textFill);

// 結果のXPSドキュメントを保存する
doc->Save(RunExamples::outDir() + u"AddText_out.xps");

C++でUnicode文字列を使用してXPSファイルにテキストを追加する

XPSファイルに単純なテキスト文字列を追加する方法を学びました。先に進み、XPSファイルにUnicode文字列を追加する必要があるシナリオを考えてみましょう。 Unicode文字列に基づいてXPSファイルにテキストを追加するには、以下の手順に従う必要があります。

  1. 新しいXPSドキュメントを作成する
  2. Unicodeテキストを追加
  3. 出力XPSドキュメントを保存する

次のコードは、これらの手順に基づいており、C++言語のUnicode文字列を使用してXPSファイルにテキストを追加する方法を示しています。

// 新しいXPSドキュメントを作成する
auto doc = System::MakeObject<XpsDocument>();

// テキストを追加
System::SharedPtr<XpsSolidColorBrush> textFill = doc->CreateSolidColorBrush(System::Drawing::Color::get_Black());
System::SharedPtr<XpsGlyphs> glyphs = doc->AddGlyphs(u"Arial", 20.0f, System::Drawing::FontStyle::Regular, 400.f, 200.f, u"++C. rof SPX.esopsA");
glyphs->set_BidiLevel(1);
glyphs->set_Fill(textFill);

// 結果のXPSドキュメントを保存する
doc->Save(RunExamples::outDir() + u"AddText_unicode.xps");

C++を使用してXPSドキュメントに画像を挿入する

画像には多くの視覚情報を含めることができるため、APIはC++アプリケーションのXPSファイルへの画像の挿入をサポートしています。 Aspose.Page for C++ APIを使用すると、以下の手順でXPSファイルに画像または画像を挿入できます。

  1. 新しいXPSドキュメントを作成する
  2. 入力画像を読み込む
  3. マトリックスとImageBrushを作成します
  4. 出力XPSファイルを保存する

以下のコード例は、C++を使用してXPSドキュメントに画像を挿入する方法を示しています。

// 新しいXPSドキュメントを作成する
System::SharedPtr<XpsDocument> doc = System::MakeObject<XpsDocument>();

// 画像を追加
System::SharedPtr<XpsPath> path = doc->AddPath(doc->CreatePathGeometry(u"M 30,20 l 258.24,0 0,56.64 -258.24,0 Z"));

// マトリックスの作成はオプションであり、適切な配置に使用できます
path->set_RenderTransform(doc->CreateMatrix(0.7f, 0.f, 0.f, 0.7f, 0.f, 20.f));

//イメージブラシを作成する
path->set_Fill(doc->CreateImageBrush(RunExamples::dataDir() + u"QL_logo_color.tif", System::Drawing::RectangleF(0.f, 0.f, 258.24f, 56.64f), System::Drawing::RectangleF(50.f, 20.f, 193.68f, 42.48f)));

// 結果のXPSドキュメントを保存する
doc->Save(RunExamples::outDir() + u"AddImage_out.xps");

C++を使用してXPSファイルにタイル画像を挿入する

XPSファイルに画像を追加または挿入する最初のステップを学習しました。次に、XPSドキュメントにタイル画像を挿入する関連する例に進みましょう。 XPSファイルにタイル画像を追加する手順は次のとおりです。

  1. 新しいXPSドキュメントを作成する
  2. ImageBrush塗りつぶされた長方形を追加します
  3. タイル画像を追加
  4. 結果のXPSドキュメントを保存する

次のコードスニペットは、C++を使用してXPSファイルにタイル画像を追加する方法を示しています。

// 新しいXPSドキュメントを作成する
System::SharedPtr<XpsDocument> doc = System::MakeObject<XpsDocument>();

// タイル画像
// 右上のImageBrushで塗りつぶされた長方形
System::SharedPtr<XpsPath> path = doc->AddPath(doc->CreatePathGeometry(u"M 10,160 L 228,160 228,305 10,305"));
path->set_Fill(doc->CreateImageBrush(RunExamples::dataDir() + u"R08LN_NN.jpg", System::Drawing::RectangleF(0.f, 0.f, 128.f, 96.f), System::Drawing::RectangleF(0.f, 0.f, 64.f, 48.f)));
(System::DynamicCast<Aspose::Page::Xps::XpsModel::XpsImageBrush>(path->get_Fill()))->set_TileMode(Aspose::Page::Xps::XpsModel::XpsTileMode::Tile);
path->get_Fill()->set_Opacity(0.5f);

// 結果のXPSドキュメントを保存する
doc->Save(RunExamples::outDir() + u"AddTiledImage_out.xps");

結論

この記事では、C++言語を使用してXPSファイルにテキストまたは画像を挿入または追加する方法を学習しました。この機能は、XPSドキュメントに透かしを追加する必要がある場合や、要件に応じてスタンプを追加する場合などのシナリオで役立ちます。同様に、他の多くのエキサイティングな機能がXPSファイル形式でサポートされています。詳細については、APIドキュメントにアクセスするか、無料サポートフォーラムで話し合うこともできます。ご連絡をお待ちしております!

関連項目