Межпакетные операции в пакете XPS
Управление страницами, цветами и глифами в пакете XPS с помощью C#
Решение Aspose.Page API для .NET среди других форматов включает пакет XPS в виде отдельной библиотеки для работы с файлами XPS. Его богатый функционал содержит множество полезных и популярных функций, таких как слияние файлов, конвертация, работа с графикой и т.д.
XPS может содержать в одном документе несколько файлов. Таким образом, любой пакет XPS должен иметь функциональные возможности для управления этими файлами и их страницами внутри документа и между различными документами XPS. Такие манипуляции называются межпакетными операциями. Их следует пояснить отдельно.
Здесь вы найдете примеры таких межпакетных операций, как манипуляции со страницами и добавление глифов и цветов.
Порядок действий по управлению страницами в XPS Package 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 Package C#.
- Укажите путь к каталогу документов.
- Откройте поток файла XPS.
- Создайте файл XPS, используя класс XpsDocument.
- Добавьте глифы в документ с помощью метода AddGlyphs() .
- Создайте второй файл XPS, используя класс XpsDocument.
- Чтобы клонировать глиф из первого файла во второй файл, используйте Add() и Clone() Методы.
- Сохраните оба XPS-документа с помощью метода XPsDocument.Save().
Код С# для копирования глифа в пакете 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.
- Добавьте глифы в документ с помощью метода AddGlyphs().
- Чтобы заполнить глифы кистью изображения, используйте метод CreateImageBrush() .
- Создайте второй файл XPS, используя класс XpsDocument.
- Добавьте глифы со шрифтом из первого документа во второй документ с помощью метода AddGlyphs().
- Создайте кисть изображения из заливки первого документа и заполните глифы во втором документе, используя метод CreateImageBrush().
- Сохраните оба XPS-документа с помощью метода XPsDocument.Save().
Код С# для создания глифа, заполненного изображением, в пакете 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");
Часто задаваемые вопросы
1. Что такое пакет XPS?
Пакет XPS — это отдельная библиотека для управления файлами XPS. Используйте его для создания собственных конвертеров, программ чтения или других приложений для редактирования XPS.
2. Как я могу получить пакет XPS?
Пакет XPS включен в решение Aspose.Page .
3. Какие межпакетные операции доступны?
Используя пакет Aspose XPS, вы можете переносить страницы из одного документа в другой, клонировать объекты, такие как глифы, стили или настройки.
4. Как манипулировать страницами между документами XPS?
Для передачи файлов с помощью этого пакета XPS используйте методы InsertPage(), AddPage(), RemovePage() и SelectActivePage() класса XpsDocument.
XPS Формат файла XPS
Формат XPS похож на формат PDF. Оба являются форматами языка описания страниц (PDL). EPS основан на HTML, а не на языке PostScript. Файл .eps может содержать разметку структуры документа вместе с информацией о том, как документ будет выглядеть. Также добавлены инструкции о том, как распечатать и визуализировать документ. Особенность формата в том, что он фиксирует описание документа, а значит, он будет выглядеть одинаково независимо от того, кто и из какой операционной системы его открывает.