插入文本图像 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++ 语言中的 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 文档 了解更多信息,也可以在 免费支持论坛 与我们讨论。我们期待与您取得联系!

也可以看看