Файлы XPS основаны на спецификациях XML Paper, которые представляют макеты страниц. Они включают информацию о внешнем виде и макетах печати. Иногда вам может понадобиться объединить несколько файлов XPS для дальнейшей обработки данных. В соответствии с такими требованиями в этой статье объясняется, как программно объединять XPS-файлы в C#.
- Объединение или слияние файлов XPS — установка C# API
- Объединить файл XPS в формат XPS программно на С#
- Слияние файлов XPS программно на C#
- Объединение файлов XPS с дополнительными параметрами в C#
Объединение или слияние файлов XPS — установка C# API
Aspose.Page for .NET API – это API формата файлов с высоким кодом, для которого вам нужно всего лишь сделать несколько вызовов API. Вы можете получить доступ к API, загрузив его DLL-файлы из раздела Загрузки или с помощью следующей команды установки NuGet:
PM> Install-Package Aspose.Page
Объединить файлы XPS в формат XPS программно на C#
Вы можете объединить разные файлы XPS в один документ XPS, выполнив следующие действия:
- Загрузите входной файл XPS.
- Укажите другие файлы XPS, которые вы хотите объединить.
- Добавьте файлы вместе в один файл XPS.
Фрагмент кода ниже объединяет несколько XPS-файлов в один XPS-документ на C#:
// Инициализировать выходной поток XPS
using (System.IO.Stream outStream = System.IO.File.Open("mergedXPSfiles.xps", System.IO.FileMode.Create, System.IO.FileAccess.Write))
{
// Загрузить XPS-документ
XpsDocument document = new XpsDocument("input.xps", new XpsLoadOptions());
// Создайте массив файлов XPS, которые будут объединены с первым.
string[] filesToMerge = new string[] { "input2.xps", "input3.xps" };
// Объединить файлы XPS для вывода документа XPS
document.Merge(filesToMerge, outStream);
}
Слияние файлов XPS программно на C#
Вы можете объединить несколько файлов XPS в один файл, выполнив следующие действия:
- Загрузите файл XPS, чтобы добавить к нему другие файлы.
- Создайте устройство рендеринга для выходного файла.
- Создайте массив файлов XPS для слияния.
- Объедините файлы XPS и сохраните результат в формате PDF.
В следующем коде показано, как объединить файлы XPS и сохранить выходные данные в формате PDF программно на C#:
// Инициализировать выходной поток PDF
using (Stream pdfStream = File.Open("mergedXPSfiles.pdf", FileMode.Create, FileAccess.Write))
// Инициализировать входной поток XPS
using (Stream xpsStream = File.Open("input.xps", FileMode.Open, FileAccess.Read))
{
// Загрузите первый документ XPS из потока
XpsDocument document = new XpsDocument(xpsStream, new XpsLoadOptions());
// Создать устройство рендеринга для формата PDF
PdfDevice device = new PdfDevice(pdfStream);
// Создайте массив файлов XPS, которые будут объединены с первым.
string[] filesToMerge = new string[] { "input2.xps", "input3.xps" };
// Объединение файлов XPS для вывода PDF-документа
document.Merge(filesToMerge, device, new PdfSaveOptions());
}
Объединение файлов XPS с дополнительными параметрами в C#
Вы можете указать различные свойства, чтобы импровизировать процесс слияния XPS. Например, вы можете установить сжатие изображения или текста, шифрование, привилегии и т. д. для выходного файла, выполнив следующие действия:
- Загрузите входной файл XPS для объединения файлов.
- Инициализируйте объект класса PdfSaveOptions.
- Создайте устройство рендеринга и массив для объединения файлов.
- Объедините файлы XPS и сохраните результат в формате PDF.
В следующем фрагменте кода показано, как объединить файлы XPS в C#:
// Инициализировать выходной поток PDF
using (Stream pdfStream = File.Open("mergedXPSfiles.pdf", FileMode.Create, FileAccess.Write))
// Инициализировать входной поток XPS
using (Stream xpsStream = File.Open("input.xps", FileMode.Open, FileAccess.Read))
{
// Загрузите первый документ XPS из потока
XpsDocument document = new XpsDocument(xpsStream, new XpsLoadOptions());
// Инициализируйте объект опций с необходимыми параметрами.
PdfSaveOptions options = new PdfSaveOptions()
{
JpegQualityLevel = 100,
ImageCompression = Aspose.Page.XPS.Presentation.Pdf.PdfImageCompression.Jpeg,
TextCompression = Aspose.Page.XPS.Presentation.Pdf.PdfTextCompression.Flate
};
// Создать устройство рендеринга для формата PDF
PdfDevice device = new PdfDevice(pdfStream);
// Создайте массив файлов XPS, которые будут объединены с первым.
string[] filesToMerge = new string[] { "input2.xps", "input3.xps" };
// Объединение файлов XPS для вывода PDF-документа
document.Merge(filesToMerge, device, options);
}
Получить бесплатную временную лицензию
Вы можете запросить бесплатную временную лицензию для оценки API без каких-либо ограничений.
Онлайн-демонстрация
Попробуйте веб-приложение Объединение XPS, чтобы проверить возможности объединения файлов.
Вывод
В этой статье вы узнали, как программно объединять XPS-файлы в C#. Если вам нужно обсудить какой-либо из ваших вопросов, пожалуйста, напишите нам на форум.
Смотрите также
[Преобразование EPS или PS в SVG на C#] (https://blog.aspose.com/ru/2022/03/08/convert-eps-ps-to-svg-csharp/)