Робота з полотнами (canvases) у XPS
Обрізка (clip) та перетворення (transform) полотен у файлах XPS за допомогою C++ API
У файлах XPS полотно (canvas) — це прямокутна область на сторінці, де можна малювати візуальний вміст, наприклад текст, зображення та фігури. Воно слугує контейнером для цих елементів і забезпечує структуру для їхньої організації та нашарування (layering). Полотна можна повторно використовувати в різних частинах документа або навіть у кількох документах, що забезпечує гнучкий спосіб структурування та організації вмісту в документі XPS. Ключові характеристики полотен у файлах XPS:
- Полотна можуть бути вкладені (nested) в інші полотна, утворюючи ієрархічну структуру, яка дозволяє створювати складні макети (layouts) та групувати елементи.
- Полотна можна перетворювати (transform) за допомогою різних операцій, таких як переміщення (translation), обертання (rotation) та масштабування (scaling). Це забезпечує гнучке позиціонування та зміну розміру вмісту.
- Полотна можна обрізати (clip) до певних областей, обмежуючи видиму область їхнього вмісту. Це корисно для створення складних фігур та ефектів.
- Полотна можуть містити різні візуальні елементи, включаючи текстові блоки (text runs), абзаци (paragraphs) та текстові поля (text boxes). Вони також можуть містити зображення, геометричні фігури та інші полотна.
Керування полотнами в документах — одна з функцій, що пропонується Aspose.Page для C++. Це рішення працює з різними мовами опису сторінок, зокрема XPS.
Щоб перетворити (transform) полотна файлу XPS, дотримуйтесь наведеного нижче посібника:
- Створіть файл XPS за допомогою класу XpsDocument.
- Створіть основне полотно, спільне для всіх елементів сторінки, за допомогою методу AddCanvas().
- Зробіть зміщення вліво та вгору в основному полотні за допомогою методу CreateMatrix().
- Створіть геометрію прямокутного шляху (rectangle path geometry) за допомогою методу CreatePathGeometry().
- Створіть заливку для прямокутників за допомогою класу XpsBrush.
- Для створення прямокутника на полотні 2 та його заповнення використовуйте клас XpsPath.
- Для переміщення (translate) полотна 3 з метою розташування нового прямокутника нижче попереднього використовуйте метод CreateMatrix().
- Для переміщення цього полотна на праву сторону сторінки використовуйте метод Translate().
- Для масштабування (scale) полотна 4 викличте метод Scale().
- Для обертання полотна 5 навколо точки на 45 градусів стане у нагоді метод RotateAround().
- Збережіть змінений документ XPS за допомогою методу XpsDocument.Save().
Перетворення полотна (canvas transformation)
Щоб обрізати (clip) полотна файлу XPS, дотримуйтесь наведеного нижче посібника:
- Створіть або відкрийте файл XPS за допомогою класу XpsDocument.
- Створіть основне полотно, спільне для всіх елементів сторінки, за допомогою методу AddCanvas().
- Зробіть зміщення вліво та вгору в основному полотні за допомогою методу CreateMatrix().
- Створіть геометрію прямокутного шляху за допомогою методу CreatePathGeometry().
- Створіть заливку для прямокутників за допомогою класу XpsBrush.
- Для додавання іншого полотна з обрізкою (clip) до основного полотна ще раз викличте метод AddCanvas().
- Створіть геометрію кола для обрізки за допомогою класу XpsPathGeometry.
- Для створення прямокутника на цьому полотні та його заповнення використовуйте клас XpsPath.
- Додайте інше полотно за допомогою методу AddCanvas(), потім створіть прямокутник на цьому полотні та обведіть його за допомогою класу XpsPathGeometry.
- Збережіть змінений документ XPS за допомогою методу XpsDocument.Save().
Обрізка полотна (canvas clipping)
XPS What is XPS File Format
XPS (XML Paper Specification) — альтернатива Microsoft до PDF. Заснований на XML/HTML, зберігає макет на різних платформах і не залежить від операційної системи.