XPS (Open XML Paper Specification) и OXPS (OpenXPS) представляют собой документы с фиксированной страницей. Документы XPS похожи на документы PDF в том, что они сохраняют макет и форматирование исходного документа. Однако документы XPS не так широко поддерживаются, как документы PDF. Документы PDF (Portable Document Format) широко поддерживаются на различных платформах и устройствах. В этой статье мы покажем вам, как конвертировать XPS или OXPS в PDF на C#.
В этой статье рассматриваются следующие темы:
- C# API для преобразования XPS в PDF
- Конвертировать XPS в PDF с помощью C#
- Конвертировать определенные страницы XPS в PDF
- Конвертер OXPS в PDF на C#
- Конвертировать отдельные страницы OXPS в PDF
- Конвертировать файл XPS в PDF онлайн
- XPS в PDF — бесплатные обучающие ресурсы
API C# для преобразования XPS в PDF
Мы будем использовать API Aspose.Page for .NET для преобразования документа XPS или OXPS в формат PDF. Это мощный API, который позволяет разработчикам создавать, редактировать, манипулировать и конвертировать документы XPS и EPS/PS. Aspose.Page for .NET — это надежный и автономный API, который легко использовать и интегрировать в ваши .NET-приложения.
Пожалуйста, загрузите DLL API или установите его с помощью следующей команды NuGet:
PM> Install-Package Aspose.Page
Преобразование XPS в PDF с помощью C#
Мы можем преобразовать весь документ XPS в формат PDF, выполнив следующие действия:
- Загрузите входной файл XPS.
- Инициализируйте объект параметров с необходимыми параметрами.
- Создайте экземпляр PdfDevice для рендеринга.
- Экспортируйте XPS в документ PDF.
В приведенном ниже примере кода показано, как преобразовать файл XPS в PDF с помощью C#.
// Инициализировать выходной поток PDF
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "XPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// Инициализировать входной поток XPS
//используя (System.IO.Stream xpsStream = System.IO.File.Open(dataDir + "input.xps", System.IO.FileMode.Open))
using (System.IO.Stream xpsStream = System.IO.File.Open(dataDir + "sample.xps", System.IO.FileMode.Open))
{
// Загрузите документ XPS из потока
Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
// или загрузите документ XPS непосредственно из файла. Тогда xpsStream не нужен.
// Документ XpsDocument = новый XpsDocument (inputFileName, новый XpsLoadOptions());
// Инициализируйте объект параметров с необходимыми параметрами.
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,
};
// Создать устройство рендеринга для формата PDF
Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);
document.Save(device, options);
}
Преобразование определенных страниц XPS в PDF на C#
Мы также можем преобразовать выбранные страницы документа XPS в формат PDF, выполнив следующие действия:
- Инициализируйте входной поток XPS.
- Загрузите документ XPS из потока.
- Инициализируйте объект PdfSaveOptions.
- Укажите номера страниц для конвертации.
- Сохраните документ как PDF-файл.
В следующем примере кода показано, как преобразовать определенные страницы XPS в PDF на C#.
// Инициализировать выходной поток PDF
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "XPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// Инициализировать входной поток XPS
//используя (System.IO.Stream xpsStream = System.IO.File.Open(dataDir + "input.xps", System.IO.FileMode.Open))
using (System.IO.Stream xpsStream = System.IO.File.Open(dataDir + "sample.xps", System.IO.FileMode.Open))
{
// Загрузите документ XPS из потока
Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
// или загрузите документ XPS непосредственно из файла. Тогда xpsStream не нужен.
// Документ XpsDocument = новый XpsDocument (inputFileName, новый XpsLoadOptions());
// Инициализируйте объект параметров с необходимыми параметрами.
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,
PageNumbers = new int[] {1, 3}
};
// Создать устройство рендеринга для формата PDF
Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);
document.Save(device, options);
}
В этом фрагменте кода в качестве входного файла используется документ XPS, содержащий несколько страниц. Принимая во внимание, что только номера страниц 1 и 3 преобразуются в PDF, как указано во фрагменте кода. На следующем снимке экрана показаны две страницы, представленные в виде PDF-документа:
Конвертер OXPS в PDF на C#
Формат OXPS — это обновленная и усовершенствованная форма формата файла XPS. Однако такие файлы не поддерживаются некоторыми старыми операционными системами. Мы можем легко преобразовать документ OXPS в формат PDF, выполнив следующие действия:
- Инициализируйте входной поток OXPS.
- Загрузите файл OXPS из потока.
- Создайте экземпляр объекта класса PdfSaveOptions.
- Экспорт OXPS в файл PDF
В следующем примере кода показано, как преобразовать OXPS в PDF на C#.
// Инициализировать выходной поток PDF
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "OXPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// Инициализируйте входной поток OXPS
//используя (System.IO.Stream xpsStream = System.IO.File.Open(dataDir + "input.oxps", System.IO.FileMode.Open))
using (System.IO.Stream xpsStream = System.IO.File.Open(dataDir + "sample.oxps", System.IO.FileMode.Open))
{
// Загрузите документ OXPS из потока
Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
// или загрузите документ OXPS непосредственно из файла. Тогда xpsStream не нужен.
// Документ XpsDocument = новый XpsDocument (inputFileName, новый XpsLoadOptions());
// Инициализируйте объект параметров с необходимыми параметрами.
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,
};
// Создать устройство рендеринга для формата PDF
Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);
document.Save(device, options);
}
Преобразование определенных страниц OXPS в PDF на C#
Аналогичным образом мы также можем конвертировать определенные страницы из документа OXPS в формат PDF, выполнив следующие действия:
- Загрузите файл OXPS
- Объявите объект PdfSaveOptions.
- Установите номера страниц, которые вы хотите преобразовать.
- Преобразование OXPS в PDF.
В следующем фрагменте кода показано, как преобразовать определенные страницы OXPS в PDF на C#. Он преобразует первую страницу файла OXPS в PDF, как указано во фрагменте кода.
// Инициализировать выходной поток PDF
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "OXPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// Инициализируйте входной поток OXPS
//используя (System.IO.Stream xpsStream = System.IO.File.Open(dataDir + "input.oxps", System.IO.FileMode.Open))
using (System.IO.Stream xpsStream = System.IO.File.Open(dataDir + "sample.oxps", System.IO.FileMode.Open))
{
// Загрузите документ OXPS из потока
Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
// или загрузите документ XPS непосредственно из файла. Тогда xpsStream не понадобится.
// Документ XpsDocument = новый XpsDocument (inputFileName, новый XpsLoadOptions());
// Инициализируйте объект параметров с необходимыми параметрами.
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,
PageNumbers = new int[] {1}
};
// Создать устройство рендеринга для формата PDF
Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);
document.Save(device, options);
}
Получите бесплатную лицензию
Вы можете получить бесплатную временную лицензию для тестирования библиотеки без каких-либо ограничений на ознакомление.
Конвертировать файл XPS в PDF онлайн
Вы также можете конвертировать файл XPS в PDF онлайн с помощью этого бесплатного конвертера XPS в PDF без установки какого-либо программного обеспечения или плагина.
Преобразование документа XPS в PDF — учебные ресурсы
Помимо преобразования документов XPS или OXPS в формат PDF, узнайте больше о библиотеке и изучите различные другие функции, используя ресурсы ниже:
- Руководство разработчика Aspose.Page
- Бесплатные онлайн-приложения
- Справочник по API
- Практические руководства и статьи
Заключение
В этой статье мы узнали, как программно конвертировать XPS в PDF и OXPS в PDF с помощью C#. Мы также увидели, как экспортировать определенные страницы документа XPS или OXPS в формат PDF. Вы можете дополнительно изучить API и оптимизировать рабочий процесс обработки документов. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на нашем форуме бесплатной поддержки.