Converter XPS para BMP em C#
Converter arquivos XPS para imagens BMP em C# é uma necessidade comum quando você precisa extrair representações visuais de documentos XPS para impressão, arquivamento ou integração em fluxos de trabalho de processamento de imagem. Usando Conholdate.Total for .NET, essa tarefa se torna simples e eficiente.
Por que converter XPS para BMP?
Aqui estão algumas razões pelas quais você pode precisar converter XPS para BMP:
- Saída de alta qualidade: BMP preserva a fidelidade completa da imagem, útil para impressão ou trabalho de design.
- Compartilhamento simplificado: imagens BMP podem ser facilmente abertas e visualizadas em diferentes plataformas.
- Extração de dados: Extraia conteúdo a nível de página para análise ou OCR.
- Processamento em lote: Converta várias páginas ou documentos de uma só vez usando automação .NET.
Converter XPS para BMP em C#
Siga os passos abaixo para realizar a conversão:
- Carregue o documento XPS usando a classe
XpsDocument. - Crie e configure uma instância de
BmpSaveOptions. - Invoque o método
SaveAsImagepara gerar arrays de bytes de imagem BMP. - Itere através de cada página e salve as imagens no disco.
Converter XPS para BMP em 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 demonstra um processo completo para converter documentos XPS em imagens BMP em C#. O arquivo XPS é carregado utilizando a classe XpsDocument juntamente com XpsLoadOptions para prepará-lo para renderização. Em seguida, um objeto BmpSaveOptions é inicializado, onde você pode definir a resolução da imagem, modo de suavização e páginas específicas a serem convertidas. Isso garante que cada página seja salva separadamente com etiquetas claras, facilitando a gestão e o uso das imagens geradas em aplicações futuras. No geral, este método fornece uma maneira altamente eficiente de extrair e preservar conteúdo XPS no formato BMP.
Conclusão
Converter documentos XPS em imagens BMP em C# permite que os desenvolvedores gerem saídas de imagem rasterizadas para fácil integração, arquivamento ou processamento adicional. Conholdate.Total para .NET oferece APIs poderosas para lidar com tais conversões de documentos com mínimo esforço.
