
Los archivos XPS y OXPS se utilizan con frecuencia para imprimir debido a su independencia de resolución. Sin embargo, a veces necesitamos convertir XPS a PDF o OXPS a PDF. Aspose.Page for .NET La API le permite realizar estas conversiones con alta fidelidad y renderizado rápido. Exploremos los siguientes casos de uso:
- Convierta XPS a PDF mediante programación usando C#
- Convierta OXPS a PDF mediante programación usando C#
Convierta XPS a PDF mediante programación usando C#
La conversión de XPS a PDF es simple con Aspose.Page for .NET API. Aprenderemos los siguientes enfoques para realizar la conversión de archivos XPS:
i) Convertir páginas específicas de XPS a PDF en C#
Para convertir páginas seleccionadas de un documento XPS a PDF, siga los pasos a continuación:
- Inicializar flujo de entrada XPS
- Cargar documento XPS desde flujo
- Inicializar el objeto PdfSaveOptions
- Especifique los números de página para la conversión
- Guarde el documento como archivo PDF
El siguiente fragmento de código sigue estos pasos y muestra cómo convertir XPS a PDF usando C#:
// Inicializar el flujo de salida de PDF
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "XPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// Inicializar flujo de entrada XPS
//usando (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))
{
// Cargue el documento XPS desde la secuencia
Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
// o cargue el documento XPS directamente desde el archivo. Entonces no se necesita xpsStream.
// documento XpsDocument = new XpsDocument(inputFileName, new XpsLoadOptions());
// Inicialice el objeto de opciones con los parámetros necesarios.
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}
};
// Crear dispositivo de renderizado para formato PDF
Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);
document.Save(device, options);
}
Este fragmento de código utiliza un documento XPS que contiene varias páginas como archivo de entrada. Mientras que solo los números de página 1 y 3 se convierten a PDF como se especifica en el fragmento de código. La siguiente captura de pantalla muestra 2 páginas procesadas en un documento PDF:

ii) Convertir todas las páginas de XPS a PDF en C#
Puede convertir un archivo XPS completo a PDF. Siga los pasos a continuación y todas las páginas del archivo XPS se convertirán a un archivo PDF:
- Cargar archivo XPS de entrada
- Inicializar objeto de opciones con los parámetros necesarios
- Cree una instancia de PdfDevice para renderizar
- Exportar XPS a documento PDF
El siguiente fragmento de código se basa en todos estos pasos que muestran cómo convertir un archivo XPS a PDF usando el lenguaje C#:
// Inicializar el flujo de salida de PDF
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "XPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// Inicializar flujo de entrada XPS
//usando (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))
{
// Cargue el documento XPS desde la secuencia
Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
// o cargue el documento XPS directamente desde el archivo. Entonces no se necesita xpsStream.
// documento XpsDocument = new XpsDocument(inputFileName, new XpsLoadOptions());
// Inicialice el objeto de opciones con los parámetros necesarios.
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,
};
// Crear dispositivo de renderizado para formato PDF
Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);
document.Save(device, options);
}
Convierta OXPS a PDF usando C#
El formato OXPS es una forma actualizada y avanzada del formato de archivo XPS. Sin embargo, estos archivos no son compatibles con algunos sistemas operativos antiguos. Aspose.Page for .NET API también es capaz de convertir archivos OXPS. Procedamos a aprender los siguientes escenarios de uso:
i) Convertir algunas páginas de OXPS a PDF en C#
Un archivo OXPS puede contener muchas páginas y cualquier cantidad de páginas se puede convertir a PDF siguiendo los pasos a continuación:
- Cargar archivo OXPS
- Declarar el objeto PdfSaveOptions
- Establezca los números de página que desea convertir
- Renderizar OXPS a PDF
El siguiente fragmento de código muestra cómo convertir OXPS a PDF usando C#. Convierte la primera página del archivo OXPS a PDF como se menciona en el fragmento de código.
// Inicializar el flujo de salida de PDF
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "OXPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// Inicializar el flujo de entrada de OXPS
//usando (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))
{
// Cargue el documento OXPS desde la transmisión
Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
// o cargue el documento XPS directamente desde el archivo. Entonces no se necesita xpsStream.
// documento XpsDocument = new XpsDocument(inputFileName, new XpsLoadOptions());
// Inicialice el objeto de opciones con los parámetros necesarios.
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}
};
// Crear dispositivo de renderizado para formato PDF
Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);
document.Save(device, options);
}
ii) Convertir todas las páginas de OXPS a PDF en C#
Convertir todas las páginas de OXPS es simple y está relacionado con el ejemplo que hemos considerado anteriormente. Sigamos los pasos a continuación y convirtamos todas las páginas del archivo OXPS en un solo documento PDF:
- Inicializar el flujo de entrada de OXPS
- Cargue el archivo OXPS desde la transmisión
- Crear una instancia de un objeto de la clase PdfSaveOptions
- Exportar OXPS a archivo PDF
El siguiente fragmento de código sigue estos pasos uno por uno y convierte OXPS a PDF usando C#:
// Inicializar el flujo de salida de PDF
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "OXPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// Inicializar el flujo de entrada de OXPS
//usando (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))
{
// Cargue el documento OXPS desde la transmisión
Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
// o cargue el documento OXPS directamente desde el archivo. Entonces no se necesita xpsStream.
// documento XpsDocument = new XpsDocument(inputFileName, new XpsLoadOptions());
// Inicialice el objeto de opciones con los parámetros necesarios.
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,
};
// Crear dispositivo de renderizado para formato PDF
Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);
document.Save(device, options);
}
Conclusión
En este artículo, aprendió cómo convertir XPS a PDF y OXPS a PDF mediante programación usando C#. Ha aprendido con ejemplos de código C# y capturas de pantalla sobre conversión de formato de archivo rápida, eficiente y de alta fidelidad. Puede seguir explorando la API de Aspose.Page for .NET con la ayuda de la documentación de la API y las referencias de la API. Además, siéntase libre de hacer cualquier consulta en Foros de soporte gratuitos.