Объединение документов XPS в XPS и PDF
.NET API для объединения нескольких файлов XPS
XPS может содержать несколько документов в одном файле, а документы XPS могут включать несколько страниц. Функциональность слияния, предлагаемая API-решением Aspose.Page, разработана таким образом, чтобы вы могли объединять несколько файлов в один. В результате вы получите файл XPS или PDF, содержащий содержимое всех объединенных файлов. Здесь вы найдете пример кода, как объединить XPS с C# .NET. Чтобы увидеть, как такую функциональность можно внедрить в веб-решение или объединить файлы онлайн, попробуйте XPS Merger .
Чтобы объединить файлы XPS, нам нужно:
Aspose.Page for .NET API — многофункциональное, мощное и простое в использовании API решение для обработки и преобразования документов для платформы C#.
Откройте диспетчер пакетов NuGet, найдите Aspose.Page и установите. Вы также можете использовать следующую команду из консоли диспетчера пакетов.
Package Manager Console Command
PM> Install-Package Aspose.Page
Порядок действий по объединению нескольких файлов XPS в один с помощью C# .NET.
- Укажите путь к каталогу документов.
- Инициализируйте выходной поток XPS.
- Инициализируйте входной поток файла XPS.
- Загрузите документ XPS из потока XpsDocument Class или загрузите его непосредственно из файла. В этом случае вам не нужен xpsStream.
- Создайте массив файлов XPS, которые будут объединены с первым.
- Объедините файлы XPS для вывода документа XPS.
Код С# для слияния XPS в XPS
using Aspose.Page.XPS;
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_WorkingWithDocumentMerging();
// Load XPS document from XPS file
XpsDocument document = new XpsDocument(dataDir + "input.xps", new XpsLoadOptions());
// Create an array of XPS files that will be merged with the first one
string[] filesToMerge = new string[] { dataDir + "Demo.xps", dataDir + "sample.xps" };
// Merge XPS files to output XPS document
document.Merge(filesToMerge, dataDir + "mergedXPSfiles.xps");
}
Порядок действий по объединению нескольких файлов XPS в PDF с помощью C# .NET.
- Укажите путь к каталогу документов.
- Инициализируйте выходной поток PDF.
- Инициализируйте входной поток файла XPS.
- Загрузите документ XPS из потока XpsDocument Class или загрузите его непосредственно из файла. В этом случае вам не нужен xpsStream.
- Инициализируйте объект options с необходимыми параметрами для выходного файла с помощью класса PdfSaveOptions .
- Используя класс PdfDevice , создайте устройство рендеринга для формата PDF.
- Создайте массив файлов XPS, которые будут объединены с первым.
- Объедините файлы XPS для вывода документа XPS.
С# для объединения XPS в PDF
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_WorkingWithDocumentMerging();
// Initialize the PDF output stream
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "mergedXPSfiles.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// Initialize the XPS input stream
using (System.IO.Stream xpsStream = System.IO.File.Open(dataDir + "input.xps", System.IO.FileMode.Open))
{
// Load the XPS document form the stream
XpsDocument document = new XpsDocument(xpsStream, new XpsLoadOptions());
// or load it directly from a file. No xpsStream is needed then.
// XpsDocument document = new XpsDocument(inputFileName, new XpsLoadOptions());
// Initialize options object with the necessary parameters.
Aspose.Page.XPS.Presentation.Pdf.PdfSaveOptions options = new Aspose.Page.XPS.Presentation.Pdf.PdfSaveOptions()
{
JpegQualityLevel = 100,
ImageCompression = Aspose.Page.XPS.Presentation.Pdf.PdfImageCompression.Jpeg,
TextCompression = Aspose.Page.XPS.Presentation.Pdf.PdfTextCompression.Flate
};
// Create a rendering device for the PDF format
Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);
// Create an array of XPS files that will be merged with the first one
string[] filesToMerge = new string[] { dataDir + "Demo.xps", dataDir + "sample.xps" };
// Merge XPS files to the output PDF document
document.Merge(filesToMerge, device, options);
}
Часто задаваемые вопросы
1. Как объединить файлы XPS?
Задайте путь к каталогу документов и инициализируйте выходные и входные потоки. Загрузите файлы XPS из потока или файлов и объедините их. Если вам удобнее объединить файлы XPS онлайн, воспользуйтесь нашей бесплатной кросс-платформенной программой XPS Merger .
2. Какие форматы вывода поддерживаются?
К настоящему времени Aspose.Page Solution позволяет объединять файлы XPS в один файл XPS или PDF.
3. Функционал бесплатный?
Кросс-платформенные слияния бесплатны, тогда как для решения API вы можете получить бесплатную пробную версию, а затем при необходимости купить продукт.
XPS Формат файла XPS
Формат XPS похож на формат PDF. Оба являются форматами языка описания страниц (PDL). EPS основан на HTML, а не на языке PostScript. Файл .eps может содержать разметку структуры документа вместе с информацией о том, как документ будет выглядеть. Также добавлены инструкции о том, как распечатать и визуализировать документ. Особенность формата в том, что он фиксирует описание документа, а значит, он будет выглядеть одинаково независимо от того, кто и из какой операционной системы его открывает.