
Convierta XPS a PDF mediante programación en C#
Los archivos XPS definen la apariencia visual y la composición, además de las reglas de procesamiento e impresión en el marcado XML. Dado que los documentos XPS son populares debido a su capacidad única para administrar anotaciones o firmas, las personas pueden tener estos archivos pero desean convertirlos en PDF. Analizaremos este escenario específico a continuación en el artículo y aprenderemos cómo convertir XPS a PDF mediante programación en C#.
En este artículo se tratarán los siguientes puntos:
API C# .NET para convertir XPS a PDF
Usaremos Conholdate.Total for .NET para convertir XPS a PDF mediante programación. Puede descargar la DLL o instalar esta API de conversión de XPS usando NuGet.
Install-Package Conholdate.Total
Cómo convertir XPS a PDF usando C#
Puede convertir archivos XPS a PDF siguiendo los pasos a continuación:
- Inicialice los objetos de la clase Stream para documentos XPS y PDF.
- Cree una instancia de la clase XpsDocument usando la transmisión XPS (creada en el paso anterior) y el objeto de la clase XpsLoadOptions como parámetros.
- Inicialice el objeto de la clase PdfSaveOptions especificando TextCompression, ImageCompression, JpegQualityLevel y otras opciones.
- Cree un objeto de la clase PdfDevice a partir del flujo de salida como se creó en el primer paso.
- Guarde el documento PDF usando XpsDocument.Save(Device device, SaveOptions options) y páselo a los objetos PdfDevice y PdfSaveOptions como se crearon en los pasos anteriores.
El siguiente código muestra cómo convertir XPS a PDF usando 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); | |
} |
Obtenga una licencia gratis
Puede adquirir una licencia temporal gratuita para probar la API sin limitaciones de evaluación.
Conclusión
En este artículo, hemos cubierto el procedimiento de conversión de XPS a PDF. Finalmente, esperamos que haya aprendido a convertir XPS a PDF en C# usando una API de conversión de XPS. Puede visitar la documentación para explorar otras características de la biblioteca de conversión de XPS.
Hacer una pregunta
Puedes dejarnos saber tus dudas o consultas en nuestro foro.