
Программное преобразование XPS в PDF на C#
Файлы XPS определяют внешний вид и композицию, помимо правил рендеринга и печати в разметке XML. Поскольку документы XPS популярны из-за их уникальной возможности управлять аннотациями или подписями, у людей могут быть эти файлы, но они стремятся преобразовать их в PDF. Мы обсудим этот конкретный сценарий ниже в статье и узнаем, как преобразовать XPS в PDF программным путем на C#.
В этой статье будут рассмотрены следующие моменты:
С# .NET API для преобразования XPS в PDF
Мы будем использовать Conholdate.Total для .NET для программного преобразования XPS в PDF. Вы можете загрузить библиотеку DLL или установить этот API преобразования XPS с помощью NuGet.
Install-Package Conholdate.Total
Как конвертировать XPS в PDF с помощью C#
Вы можете конвертировать XPS-файлы в PDF-файлы, выполнив следующие действия:
- Инициализировать объекты класса Stream для документов XPS и PDF.
- Создайте экземпляр класса XpsDocument, используя поток XPS (созданный на предыдущем шаге) и объект класса XpsLoadOptions в качестве параметров.
- Инициализируйте объект класса PdfSaveOptions, указав TextCompression, ImageCompression, JpegQualityLevel и другие параметры.
- Создайте объект класса PdfDevice из выходного потока, созданного на 1-м шаге.
- Сохраните документ PDF с помощью XpsDocument.Save(устройство устройства, параметры SaveOptions) и передайте ему объекты PdfDevice и PdfSaveOptions, созданные на предыдущих шагах.
В следующем коде показано, как преобразовать XPS в PDF с помощью C#.
// Initialize PDF output stream | |
using (System.IO.Stream pdfStream = System.IO.File.Open("input.xps", System.IO.FileMode.Create, System.IO.FileAccess.Write)) | |
// Initialize XPS input stream | |
using (System.IO.Stream xpsStream = System.IO.File.Open("XPStoPDF.pdf", System.IO.FileMode.Open, System.IO.FileAccess.Read)) | |
{ | |
// Load XPS document form the stream | |
XpsDocument document = new XpsDocument(xpsStream, new XpsLoadOptions()); | |
// or load XPS document directly from file. No xpsStream is needed then. | |
// XpsDocument document = new XpsDocument(inputFileName, new XpsLoadOptions()); | |
// Initialize options object with 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, | |
PageNumbers = new int[] { 1, 2, 6 } | |
}; | |
// Create rendering device for PDF format | |
Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream); | |
document.Save(device, options); | |
} |
Получить бесплатную лицензию
Вы можете приобрести бесплатную временную лицензию для тестирования API без ограничений пробной версии.
Заключение
В этой статье мы рассмотрели процедуру преобразования XPS в PDF. Наконец, мы надеемся, что вы научились преобразовывать XPS в PDF на C# с помощью API преобразования XPS. Вы можете посетить документацию, чтобы изучить другие функции библиотеки преобразования XPS.
Задайте вопрос
Вы можете сообщить нам о своих вопросах или запросах на нашем форуме.