Вставить текстовое изображение XPS C++

Вы можете легко создавать, редактировать или манипулировать файлами XPS. Кроме того, вы можете контролировать содержимое и его положение в соответствии с вашими требованиями. Вы можете вставить изображение или текст в файлы XPS программно, используя язык C++. Давайте подробно рассмотрим эту функцию в следующих темах:

Работа с текстовым или графическим содержимым в XPS-файлах — установка API

Вы можете добавлять текст или изображение в файлы XPS в приложениях C++. Вам не нужно учитывать мелкие детали формата файла документа, так как несколько вызовов API могут выполнить работу в соответствии с вашими требованиями. Aspose.Page for C++ API можно легко настроить, загрузив его из Новые выпуски или с помощью следующей команды установки NuGet:

PM> Install-Package Aspose.Page.Cpp

Добавить текст в файл XPS с помощью C++

Текст в файле XPS можно использовать для маркировки некоторых рисунков, изображений или другого содержимого. Точно так же вы также можете использовать текст в качестве водяного знака для файла. Чтобы добавить или вставить текст в файлы XPS, выполните следующие действия:

  1. Создайте новый XPS-документ
  2. Создайте кисть, чтобы добавить текст
  3. Добавить глиф в документ
  4. Сохранить выходной XPS-документ

В приведенном ниже коде показано, как добавить текст в файл XPS с помощью C++:

// Создать новый 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");

Добавить текст в файл XPS, используя строку Unicode в C++

Мы научились добавлять простую текстовую строку в файл XPS. Давайте продолжим и рассмотрим сценарий, в котором вам нужно добавить строку Unicode в файлы XPS. Вам необходимо выполнить следующие шаги для добавления текста в файл XPS на основе строки Unicode:

  1. Создать новый XPS-документ
  2. Добавить текст Юникода
  3. Сохранить выходной XPS-документ

Следующий код основан на этих шагах и показывает, как добавить текст в файл XPS с помощью строки Unicode на языке C++:

// Создать новый 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");

Вставьте изображение в документ XPS с помощью С++

Изображения могут содержать много визуальной информации, поэтому API поддерживает вставку изображения в файл XPS в ваших приложениях C++. Aspose.Page for C++ API позволяет вставлять изображения или изображения в файлы XPS, выполнив следующие действия:

  1. Создайте новый XPS-документ
  2. Загрузить входное изображение
  3. Создайте матрицу и ImageBrush
  4. Сохранить выходной файл XPS

В приведенном ниже примере кода показано, как вставить изображение в документ XPS с помощью C++:

// Создать новый 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");

Вставьте мозаичное изображение в файл XPS с помощью С++

Мы изучили первый шаг добавления или вставки изображения в файл XPS, давайте перейдем к соответствующему примеру вставки мозаичного изображения в документ XPS. Ниже приведены шаги для добавления мозаичного изображения в файл XPS:

  1. Создать новый XPS-документ
  2. Добавьте ImageBrush заполненный прямоугольник
  3. Добавить мозаичное изображение
  4. Сохраните полученный XPS-документ

В следующем фрагменте кода показано, как добавить мозаичное изображение в файл XPS с помощью C++:

// Создать новый 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");

Вывод

В этой статье вы узнали, как вставлять или добавлять текст или изображение в файлы XPS с помощью языка C++. Эта функция может быть полезна в таких сценариях, как добавление водяного знака в документы XPS или добавление штампа в соответствии с вашими требованиями. Кроме того, для формата файлов XPS поддерживается множество других интересных функций. Вы можете узнать больше, посетив Документацию по API, или вы также можете обсудить это с нами на Форуме бесплатной поддержки. Мы с нетерпением ждем возможности связаться с вами!

Смотрите также