插入文本圖像 XPS C++

您可以輕鬆地創建、編輯或操作 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 文檔
  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++ 語言在 XPS 文件中使用 Unicode 字符串添加文本:

// 創建新的 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 文檔 了解更多信息,或者您也可以在 免費支持論壇 與我們討論。我們期待與您取得聯繫!

也可以看看