Міжпакетні операції в XPS
Керуйте сторінками, кольорами та гліфами в пакеті XPS з C#
API рішення Aspose.Page для .NET серед іншого включає пакет XPS як окрему бібліотеку для роботи з файлами XPS. Його багатий функціонал містить багато корисних і популярних функцій, таких як об’єднання файлів, конвертація, робота з графікою тощо.
XPS може містити в одному документі кілька файлів. Отже, будь-який пакет XPS повинен мати функціональні можливості для керування цими файлами та їхніми сторінками всередині документа та між різними документами XPS. Такі маніпуляції називаються міжпакетними операціями. Про них варто пояснити окремо.
Тут ви знайдете приклади таких крос-пакетних операцій, як маніпуляції сторінками та додавання гліфів і кольорів.
Кроки для управління сторінками в пакеті XPS C#.
- Вкажіть шлях до каталогу документів.
- Створіть файл XPS за допомогою XpsDocument Class .
- Щоб вставити активну сторінку з одного документа на початок іншого документа, використовуйте метод InsertPage() .
- Щоб вставити активну сторінку з одного документа в кінець іншого документа, використовуйте метод AddPage() .
- Щоб видалити порожню сторінку, скористайтеся методом RemovePage() .
- Щоб включити сторінку з одного документа в інший, використовуйте InsertPage() і SelectActivePage() Методи.
- Збережіть змінені документи XPS за допомогою XPsDocument.Save .
C# Код для міжпакетних маніпуляцій зі сторінками
using Aspose.Page.XPS;
using Aspose.Page.XPS.XpsModel;
using System.Drawing;
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_WorkingWithCrossPackageOperations();
// Create the first XPS Document
XpsDocument doc1 = new XpsDocument(dataDir + "input1.xps");
// Create the second XPS Document
XpsDocument doc2 = new XpsDocument(dataDir + "input2.xps");
// Create the third XPS Document
XpsDocument doc3 = new XpsDocument(dataDir + "input3.xps");
// Create the fourth XPS Document
XpsDocument doc4 = new XpsDocument();
// Insert the active page (1 in this case) from the second document to the beginning of the fourth document
doc4.InsertPage(1, doc2.Page, false);
// Insert the active page (1 in this case) from the third document to the end of the fourth document
doc4.AddPage(doc3.Page, false);
// Remove page 2 from the fourth document. This is an empty page that was created when the document had been created.
doc4.RemovePageAt(2);
// Insert page 3 from the first document to the second postion of the fourth document
doc4.InsertPage(2, doc1.SelectActivePage(3), false);
// Save the fourth XPS document
doc4.Save(dataDir + "out.xps");
Кроки для додавання клону гліфа в пакет XPS C#.
- Вкажіть шлях до каталогу документів.
- Відкрийте потік файлу XPS.
- Створіть файл XPS за допомогою XpsDocument Class.
- Додайте гліфи до документа за допомогою методу AddGlyphs() .
- Створіть другий файл XPS за допомогою XpsDocument Class.
- Щоб клонувати гліф з першого файлу в другий файл, використовуйте Add() і Clone() Методи.
- Збережіть обидва документи XPS за допомогою методу XPsDocument.Save().
Код C# для копіювання гліфу в пакет XPS
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_WorkingWithCrossPackageOperations();
// Create the first XPS Document
XpsDocument doc1 = new XpsDocument();
// Add glyphs to the first document
XpsGlyphs glyphs = doc1.AddGlyphs("Times New Roman", 200, FontStyle.Bold, 50, 250, "Test");
// Fill glyphs in the first document with one color
glyphs.Fill = doc1.CreateSolidColorBrush(Color.Green);
// Create the second XPS Document
XpsDocument doc2 = new XpsDocument();
// Add glyphs cloned from the one's from the first document
glyphs = doc2.Add(glyphs.Clone());
// Fill glyphs in the second document with another color
((XpsSolidColorBrush)glyphs.Fill).Color = doc2.CreateColor(Color.Red);
// Save the first XPS document
doc1.Save(dataDir + "out1.xps");
// Save the second XPS document
doc2.Save(dataDir + "out2.xps");
Кроки для додавання гліфа, зафарбованого, як зображення C#.
- Вкажіть шлях до каталогу документів.
- Відкрийте потік файлу XPS.
- Створіть файл XPS за допомогою XpsDocument Class.
- Додайте гліфи до документа за допомогою методу AddGlyphs().
- Щоб заповнити гліфи пензлем зображення, використовуйте метод CreateImageBrush() .
- Створіть другий файл XPS за допомогою XpsDocument Class.
- Додайте гліфи зі шрифтом із першого документа до другого за допомогою методу AddGlyphs().
- Створіть пензель зображення із заливки першого документа та заповніть гліфи в другому документі за допомогою методу CreateImageBrush().
- Збережіть обидва документи XPS за допомогою методу XPsDocument.Save()
Код C# для створення гліфа із зображенням у пакеті XPS
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_WorkingWithCrossPackageOperations();
// Create the first XPS Document
XpsDocument doc1 = new XpsDocument();
// Add glyphs to the first document
XpsGlyphs glyphs1 = doc1.AddGlyphs("Times New Roman", 200, FontStyle.Bold, 50, 250, "Test");
// Fill the glyphs with an image brush
glyphs1.Fill = doc1.CreateImageBrush(dataDir + "R08SY_NN.tif", new RectangleF(0f, 0f, 128f, 192f),
new RectangleF(0f, 0f, 64f, 96f));
((XpsImageBrush)glyphs1.Fill).TileMode = XpsTileMode.Tile;
// Create the second XPS Document
XpsDocument doc2 = new XpsDocument();
// Add glyphs with the font from the first document to the second document
XpsGlyphs glyphs2 = doc2.AddGlyphs(glyphs1.Font, 200, 50, 250, "Test");
// Create an image brush from the fill of the the first document and fill glyphs in the second document
glyphs2.Fill = doc2.CreateImageBrush(((XpsImageBrush)glyphs1.Fill).Image, new RectangleF(0f, 0f, 128f, 192f),
new RectangleF(0f, 0f, 128f, 192f));
((XpsImageBrush)glyphs2.Fill).TileMode = XpsTileMode.Tile;
// Save the first XPS document
doc1.Save(dataDir + "out1.xps");
// Save the second XPS document
doc2.Save(dataDir + "out2.xps");
FAQ
1. Що таке пакет XPS?
Пакет XPS — це окрема бібліотека для керування файлами XPS. Ви можете використовувати його для створення власних конвертерів, програм для читання файлів або інших програм для редагування XPS.
2. Як я можу отримати пакет XPS?
Пакет XPS включено в рішення Aspose.Page .
3. Які міжпакетні операції доступні?
Використовуючи пакет Aspose XPS, ви можете переносити сторінки з одного документа в інший, клонувати такі об’єкти, як гліфи, стилі чи налаштування.
4. Як маніпулювати сторінками між документами XPS?
Для передачі файлів за допомогою цього пакета XPS використовуйте методи InsertPage(), AddPage(), RemovePage() і SelectActivePage() класу XpsDocument.
XPS What is XPS File Format
Формат XPS схожий на формат PDF. Обидва є форматами мови опису сторінок (PDL). EPS базується на HTML, а не на мові PostScript. Файл .eps може містити розмітку структури документа разом з інформацією про те, як документ буде виглядати. Також додано інструкції щодо друку та рендерингу документа. Особливістю формату є те, що він фіксує опис документа, тобто він виглядатиме однаково, хто б і з якої операційної системи його не відкривав.