![Вставити текстове зображення XPS C++](images/Add-Image-Text-XPS.png#center)
Ви можете легко створювати, редагувати або керувати файлами XPS. Крім того, ви можете контролювати вміст і його положення відповідно до ваших вимог. Ви можете вставити зображення або текст у файли XPS програмно за допомогою мови C++. Давайте детально розглянемо цю функцію в наступних темах:
- Робота з текстовим або графічним вмістом у файлах XPS – встановлення API
- Додайте текст у файл XPS за допомогою C++
- Додайте текст у файл XPS за допомогою Unicode String у C++
- Вставте зображення в документ XPS за допомогою C++
- Вставте мозаїчне зображення у файл XPS за допомогою C++
Робота з текстовим або графічним вмістом у файлах XPS – встановлення API
Ви можете додавати текст або зображення до файлів XPS у програмах C++. Вам не потрібно враховувати незначні деталі щодо формату файлу документа, оскільки кілька викликів API можуть виконати роботу відповідно до ваших вимог. API Aspose.Page for C++ можна легко налаштувати, завантаживши його з New Releases або за допомогою наведеної нижче команди встановлення NuGet:
PM> Install-Package Aspose.Page.Cpp
Додайте текст у файл XPS за допомогою C++
Текст можна використовувати у файлі XPS для позначення малюнка, зображення чи іншого вмісту. Так само ви також можете використовувати текст як водяний знак для файлу. Вам потрібно виконати наведені нижче дії, щоб додати або вставити текст у файли XPS:
- Створіть новий документ XPS
- Створіть пензель, щоб додати текст
- Додайте гліф до документа
- Збережіть вихідний документ 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 String у C++
Ми навчилися додавати простий текстовий рядок до файлу XPS. Давайте продовжимо та розглянемо сценарій, коли вам потрібно додати рядок Unicode у файли XPS. Для додавання тексту у файл XPS на основі рядка Unicode потрібно виконати наведені нижче кроки:
- Створіть новий документ XPS
- Додайте текст Unicode
- Збережіть вихідний документ 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 за допомогою C++
Зображення можуть містити багато візуальної інформації, тому API підтримує вставлення зображення у файл XPS у ваших програмах C++. API Aspose.Page for C++ дозволяє вставляти малюнки або зображення у файли XPS, виконавши наведені нижче дії.
- Створіть новий документ XPS
- Завантажити вхідне зображення
- Створіть матрицю та ImageBrush
- Збережіть вихідний файл 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 за допомогою C++
Ми навчилися першого кроку додавання або вставлення зображення у файл XPS, давайте продовжимо відповідний приклад вставлення мозаїчного зображення в документ XPS. Нижче наведено кроки для додавання мозаїчного зображення у файл XPS:
- Створіть новий документ XPS
- Додайте ImageBrush прямокутник із заливкою
- Додайте мозаїчне зображення
- Збережіть отриманий документ 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, або ви також можете обговорити з нами на безкоштовному форумі підтримки. Ми з нетерпінням чекаємо на зв’язок з вами!