Dispositivos e Renderização

Dispositivos e Renderização

Dispositivos e Renderização

Aspose.PDF FOSS for .NET fornece classes de dispositivo que renderizam páginas PDF em imagens raster. Cada dispositivo tem como alvo um formato específico — TIFF, JPEG, PNG ou BMP — e aceita parâmetros de resolução e qualidade.


Renderização para PNG

PngDevice converte uma página PDF em uma imagem PNG.

using var doc = Document.Open(pdfBytes);

var device = new PngDevice(new Resolution(300));
using var stream = File.Create("page1.png");
device.Process(doc.Pages[1], stream);

Renderização para JPEG

JpegDevice converte uma página para JPEG com qualidade configurável.

var device = new JpegDevice(new Resolution(150), 90); // 90% quality
using var stream = File.Create("page1.jpg");
device.Process(doc.Pages[1], stream);

Renderização para TIFF

TiffDevice converte uma ou mais páginas em uma imagem TIFF multipágina.
TiffSettings controla compressão, profundidade de cor e forma.

var settings = new TiffSettings();
var device = new TiffDevice(new Resolution(200), settings);

using var stream = File.Create("document.tiff");
device.Process(doc, stream);  // All pages

Renderização para BMP

BmpDevice converte uma página em um bitmap não compactado.

var device = new BmpDevice(new Resolution(300));
using var stream = File.Create("page1.bmp");
device.Process(doc.Pages[1], stream);

Controle de resolução

Todos os dispositivos aceitam um objeto Resolution que especifica DPI.

var lowRes = new Resolution(72);   // Screen quality
var midRes = new Resolution(150);  // Print draft
var hiRes = new Resolution(300);   // Print quality

Extração de texto via TextDevice

TextDevice extrai texto de uma página usando o pipeline de processamento de dispositivo.

var device = new TextDevice();
using var stream = new MemoryStream();
device.Process(doc.Pages[1], stream);
string text = System.Text.Encoding.UTF8.GetString(stream.ToArray());

Dicas e Melhores Práticas

  • Use 300 DPI para saída de qualidade de impressão e 72-150 DPI para uso em tela/web.
  • TiffDevice pode processar o documento inteiro em uma única chamada; outros dispositivos processam uma página por vez.
  • Os valores de qualidade JPEG variam de 0-100; 85-90 fornecem um bom equilíbrio entre qualidade e tamanho do arquivo.
  • Para conversão em lote, itere as páginas e processe cada uma com o dispositivo apropriado.
  • Dispose streams após o processamento para liberar os manipuladores de arquivos.

Problemas Comuns

ProblemaCausaSolução
A imagem está borradaResolução muito baixaAumente o DPI no construtor Resolution
Arquivo TIFF muito grandeConfigurações sem compressão ou alta resoluçãoConfigure a compressão TiffSettings
O fluxo de saída está vazioProcess não chamado ou índice de página erradoVerifique se a página existe e Process é concluído

Perguntas Frequentes

Posso renderizar um intervalo de páginas específico para TIFF?

Sim. TiffDevice.Process tem sobrecargas que aceitam números de página inicial e final.

Quais tipos de compressão o TiffSettings suporta?

LZW, CCITT3, CCITT4, RLE, Nenhum e outros tipos padrão de compressão TIFF.

Posso controlar as dimensões da imagem de saída?

Sim. Os construtores de Device aceitam parâmetros de largura e altura além de ou em vez da resolução.


Resumo da Referência da API

Classe / MétodoDescrição
PngDeviceRenderizar uma página no formato PNG
JpegDeviceRenderizar uma página no formato JPEG com controle de qualidade
TiffDeviceRenderizar páginas em TIFF multipágina
BmpDeviceRenderizar uma página no formato BMP
ImageDeviceClasse base para todos os dispositivos de renderização de imagem
DocumentDeviceClasse base para dispositivos que processam documentos inteiros
TextDeviceExtrair texto via o pipeline do dispositivo
ResolutionEspecificação de DPI para renderização
TiffSettingsConfiguração de saída TIFF (compressão, profundidade de cor)

Veja Também

 Português