Створюйте документи PS EPS XPS на C++

Aspose.Page for C++ є цінним доповненням до Aspose.Page Product Family, розробленого для роботи з документами PostScript (PS/EPS) і XPS за допомогою C++. Aspose.Page for C++ — це рідна бібліотека C++ для створення нових файлів XPS, а також для програмного модифікування та перетворення існуючих документів PostScript і XPS. API також дозволяє працювати зі сторінками та елементами, такими як полотна та гліфи в документах XPS. Крім того, він підтримує перетворення документів у PDF та растрові зображення. У цій статті показано, як виконувати такі операції, пов’язані з документами XPS, за допомогою Aspose.Page for C++.

  • Створіть новий документ XPS на C++
  • Відредагуйте існуючий документ XPS на C++
  • Додайте сторінку або документ до документа XPS на C++

Встановлення XPS API для C++

Сторінка Aspose.Page for C++ розміщена на NuGet, а також доступна у вигляді двійкових файлів. Пакет, який можна завантажити, також містить консольну програму C++, яка містить вихідний код основних прикладів.

Створіть документ XPS на C++

Нижче наведено прості кроки для створення документа XPS, що містить текст і зображення, за допомогою Aspose.Page for C++.

  • Створіть об’єкт класу XpsDocument.
  • Додайте текст і зображення за допомогою об’єктів XpsGlyphs і XpsPath відповідно.
  • Збережіть документ за допомогою методу Save.

У наведеному нижче прикладі коду показано, як створити документ XPS у C++.

// Створіть новий об’єкт XpsDocument
auto doc = System::MakeObject<XpsDocument>();

// Додати зображення
System::SharedPtr<XpsPath> path = doc->AddPath(doc->CreatePathGeometry(u"M 30,20 l 450.24,0 0,150.64 -350.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(u"QL_logo_color.tif", System::Drawing::RectangleF(0.f, 0.f, 450.24f, 150.64f), System::Drawing::RectangleF(50.f, 20.f, 450.68f, 150.48f)));

// Текст як нижній колонтитул
System::SharedPtr<XpsSolidColorBrush> textFill = doc->CreateSolidColorBrush(System::Drawing::Color::get_Black());
System::SharedPtr<XpsGlyphs> glyphs = doc->AddGlyphs(u"Arial", 18.0f, System::Drawing::FontStyle::Regular, 40.f, 1015.f, u"Copyright &#xa9; 2006 QualityLogic, Inc.");
glyphs->set_Fill(textFill);
glyphs = doc->AddGlyphs(u"Arial", 15.0f, System::Drawing::FontStyle::Regular, 475.f, 1003.f, u"For information on QualityLogic XPS test products,");
glyphs->set_Fill(textFill);

// Зберегти як XPS
doc->Save(u"Create-XPS.xps");

Вихід

Редагувати PS EPS XPS документ C++

Редагування документа XPS на C++

Нижче наведено кроки для редагування наявного документа XPS.

  • Створіть об’єкт класу XpsDocument та ініціалізуйте його шляхом до документа XPS.
  • Доступ до елементів документа за допомогою об’єкта XpsDocument.
  • Збережіть оновлений документ за допомогою методу Save.

У наведеному нижче прикладі коду показано, як редагувати наявний документ XPS у C++.

// Завантажте документ XPS
auto doc = System::MakeObject<XpsDocument>(u"Created-XPS.xps");
// Додати порожню сторінку в кінець списку сторінок
doc->AddPage();
// Вставте порожню сторінку на початку списку сторінок
doc->InsertPage(1, true); 
// Збережіть файл XPS
doc->Save(u"Updated-XPS.xps");

Додайте сторінку та документ до XPS у C++

Aspose.Page for C++ також дозволяє додавати сторінки, а також кілька документів у документ XPS. Нижче наведено кроки для створення нового документа XPS і додавання додаткової сторінки та документа.

  • Створіть об’єкт класу XpsDocument.
  • Використовуйте методи AddPage і AddDocument, щоб додати сторінку та документ відповідно.
  • Використовуйте метод SelectActiveDocument, щоб вибрати активний документ для обробки.
  • Додайте текст або зображення до документа.
  • Збережіть документ.

У наведеному нижче прикладі коду показано, як додати додаткові сторінки та документи до XPS за допомогою C++.

// Новий документ (1 фіксований документ із 1 сторінкою розміру за замовчуванням)
auto doc = System::MakeObject<XpsDocument>();
// Додати 2-гу сторінку до 1-го документа та зробити активним
doc->AddPage();
// Додати 2-й документ з 1 сторінкою (3-я сторінка у файлі)
doc->AddDocument(false);
// Друга сторінка 1-го документа все ще активна
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, 200.f, 500.f, u"Text on Page 2 (Document 1),");
glyphs->set_Fill(textFill);
// Активуйте 2-й документ
doc->SelectActiveDocument(2);
glyphs = doc->AddGlyphs(u"Arial", 12.0f, System::Drawing::FontStyle::Regular, 200.f, 500.f, u"Text on Document 2 (Page #3 in file),");
glyphs->set_Fill(textFill); 
// Збережіть файл XPS
doc->Save(u"Create-XPS.xps");

Дізнайтеся більше про Aspose.Page for C++

Ви можете дізнатися більше про Aspose.Page for C++, використовуючи документацію і приклади вихідного коду, доступні на GitHub.