Convertir XPS a BMP en C#
Convertir archivos XPS a imágenes BMP en C# es un requisito común cuando necesitas extraer representaciones visuales de documentos XPS para imprimir, archivar o integrar en flujos de trabajo de procesamiento de imágenes. Usando Conholdate.Total for .NET, esta tarea se vuelve sencilla y eficiente.
¿Por qué convertir XPS a BMP?
Aquí hay algunas razones por las que podrías necesitar convertir XPS a BMP:
- Salida de alta calidad: BMP preserva la fidelidad completa de la imagen, útil para impresión o trabajo de diseño.
- Compartición simplificada: las imágenes BMP se pueden abrir y ver fácilmente en diferentes plataformas.
- Extracción de datos: Extraer contenido a nivel de página para análisis u OCR.
- Procesamiento por lotes: Convierte múltiples páginas o documentos de una vez utilizando la automatización de .NET.
Convertir XPS a BMP en C#
Sigue los pasos a continuación para realizar la conversión:
- Cargue el documento XPS utilizando la clase
XpsDocument. - Cree y configure una instancia de
BmpSaveOptions. - Invoca el método
SaveAsImagepara generar arreglos de bytes de imagen BMP. - Iterar a través de cada página y guardar las imágenes en el disco.
Convertir XPS a BMP en C#
// Define the working directory.
string dataDir = "/Desktop";
string outputFileName = dataDir + "XPStoImage_out.bmp";
// Instantiate an instance of the XpsLoadOptions class.
// Load XPS document from the XPS file by initializing an instance of the XpsDocument class.
XpsDocument document = new XpsDocument(dataDir + "input.xps", new XpsLoadOptions());
// Initialize BmpSaveOptions object with necessary parameters.
BmpSaveOptions options = new BmpSaveOptions()
{
SmoothingMode = SmoothingMode.HighQuality,
Resolution = 300,
PageNumbers = new int[] { 1, 2, 6 }
};
// Invoke SaveAsImage method to save XPS document to the images byte arrays.
byte[][][] imagesBytes = document.SaveAsImage(options);
// Iterate through document partitions (fixed documents, in XPS terms)
for (int i = 0; i < imagesBytes.Length; i++)
{
// Iterate through partition pages
for (int j = 0; j < imagesBytes[i].Length; j++)
{
// Initialize image output stream
using (Stream imageStream = System.IO.File.Open(Path.GetDirectoryName(outputFileName) + Path.DirectorySeparatorChar +
Path.GetFileNameWithoutExtension(outputFileName) + "_" + (i + 1) + "_" + (j + 1) +
Path.GetExtension(outputFileName), System.IO.FileMode.Create, System.IO.FileAccess.Write))
// Write image
imageStream.Write(imagesBytes[i][j], 0, imagesBytes[i][j].Length);
}
}
Este código demuestra un proceso completo para convertir documentos XPS a imágenes BMP en C#. El archivo XPS se carga utilizando la clase XpsDocument junto con XpsLoadOptions para prepararlo para la representación. Luego, se inicializa un objeto BmpSaveOptions, donde se puede establecer la resolución de la imagen, el modo de suavizado y las páginas específicas que se convertirán. Esto asegura que cada página se guarde por separado con una etiquetación clara, lo que facilita la gestión y el uso de las imágenes generadas en aplicaciones posteriores. En general, este método proporciona una forma altamente eficiente de extraer y preservar el contenido XPS en el formato BMP.
Conclusión
Convertir documentos XPS a imágenes BMP en C# permite a los desarrolladores generar salidas de imágenes rasterizadas para una fácil integración, archivo o procesamiento adicional. Conholdate.Total para .NET ofrece poderosas API para manejar estas conversiones de documentos con un esfuerzo mínimo.
