
cómo convertir XPS a JPG en C#
El formato de documento XPS le permite compartir, crear, imprimir y guardar fácilmente documentos digitales, pero es posible que deba instalar el software compatible. Si es un programador de .NET y desea exportar un archivo XPS a formato JPG/JPEG mediante programación, este artículo explicará cómo convertir XPS a JPG en C#.
En este artículo se tratarán los siguientes puntos:
API C# .NET para convertir XPS a JPG
En este artículo, usaremos Conholdate.Total for .NET para convertir XPS a JPG. Esta biblioteca le permite crear, editar y guardar documentos XPS nuevos y existentes. Por lo tanto, puede descargar la DLL o instalar esta API de conversión de XPS mediante NuGet.
Install-Package Conholdate.Total
Cómo convertir XPS a JPG/JPEG mediante programación en C#
La API de conversión XPS le permite convertir sus archivos XPS a JPG.
Los siguientes son los pasos para convertir un archivo XPS a una imagen JPG:
- Inicializar el objeto de la clase Stream para documentos XPS.
- 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 JpegSaveOptions con los parámetros necesarios.
- Crear una instancia de la clase ImageDevice.
- Guarde el JPG en el objeto ImageDevice invocando el XpsDocument.Save(Device device, SaveOptions options).
- Utilice ImageDevice para guardar el JPG en el disco (como se muestra en el ejemplo de código a continuación).
El siguiente ejemplo de código muestra cómo convertir XPS a JPG usando C#:
string inputFileName = "input.xps"; | |
//Outut file | |
string outputFileName = "XPStoImage_out.jpg"; | |
// Initialize XPS input stream | |
using (Stream xpsStream = File.Open(inputFileName, FileMode.Open, FileAccess.Read)) | |
{ | |
// Load XPS document form the stream | |
XpsDocument document = new XpsDocument(xpsStream, new XpsLoadOptions()); | |
// Initialize options object with necessary parameters. | |
JpegSaveOptions options = new JpegSaveOptions() | |
{ | |
SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality, | |
Resolution = 300, | |
PageNumbers = new int[] { 1, 2, 6 } | |
}; | |
// Create rendering device for image | |
ImageDevice device = new ImageDevice(); | |
document.Save(device, options); | |
// Iterate through document partitions (fixed documents, in XPS terms) | |
for (int i = 0; i < device.Result.Length; i++) | |
// Iterate through partition pages | |
for (int j = 0; j < device.Result[i].Length; j++) | |
{ | |
// Initialize image output stream | |
using (Stream imageStream = System.IO.File.Open(Path.GetDirectoryName(outputFileName) + | |
Path.GetFileNameWithoutExtension(outputFileName) + "_" + (i + 1) + "_" + (j + 1) + | |
Path.GetExtension(outputFileName), System.IO.FileMode.Create, System.IO.FileAccess.Write)) | |
// Write image | |
imageStream.Write(device.Result[i][j], 0, device.Result[i][j].Length); | |
} | |
} |
Obtenga una licencia gratis
Puede adquirir una licencia temporal gratuita para probar la API sin limitaciones de evaluación.
Conclusión
Para concluir este artículo, esperamos que haya aprendido a convertir XPS a JPG 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.