Dispositivos y renderizado
Dispositivos y Renderizado
Aspose.PDF FOSS for .NET proporciona clases de dispositivo que renderizan páginas PDF a imágenes raster. Cada dispositivo se dirige a un formato específico — TIFF, JPEG, PNG o BMP — y acepta parámetros de resolución y calidad.
Renderizado a PNG
PngDevice convierte una página PDF a una imagen 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);Renderizado a JPEG
JpegDevice convierte una página a JPEG con calidad configurable.
var device = new JpegDevice(new Resolution(150), 90); // 90% quality
using var stream = File.Create("page1.jpg");
device.Process(doc.Pages[1], stream);Renderizado a TIFF
TiffDevice convierte una o más páginas en una imagen TIFF multipágina.TiffSettings controla la compresión, la profundidad de color y la 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 pagesRenderizado a BMP
BmpDevice convierte una página en un mapa de bits sin comprimir.
var device = new BmpDevice(new Resolution(300));
using var stream = File.Create("page1.bmp");
device.Process(doc.Pages[1], stream);Control de resolución
Todos los dispositivos aceptan un 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 qualityExtracción de texto mediante TextDevice
TextDevice extrae texto de una página usando la canalización de procesamiento del 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());Consejos y Mejores Prácticas
- Use 300 DPI para salida de calidad de impresión y 72-150 DPI para uso en pantalla/web.
TiffDevicepuede procesar todo el documento en una sola llamada; otros dispositivos procesan una página a la vez.- Los valores de calidad JPEG van de 0 a 100; 85-90 ofrecen un buen equilibrio entre calidad y tamaño de archivo.
- Para la conversión por lotes, itere las páginas y procese cada una con el dispositivo apropiado.
- Libere los streams después del procesamiento para liberar los manejadores de archivo.
Problemas comunes
| Problema | Causa | Solución |
|---|---|---|
| La imagen está borrosa | Resolución demasiado baja | Aumente DPI en el constructor Resolution |
| Archivo TIFF demasiado grande | Configuración sin compresión o de alta resolución | Configure la compresión TiffSettings |
| El flujo de salida está vacío | Process no se llamó o el índice de página es incorrecto | Verifique que la página exista y que Process se complete |
Preguntas frecuentes
¿Puedo renderizar un rango de páginas específico a TIFF?
Sí. TiffDevice.Process tiene sobrecargas que aceptan los números de página de inicio y fin.
¿Qué tipos de compresión admite TiffSettings?
LZW, CCITT3, CCITT4, RLE, Ninguno, y otros tipos de compresión TIFF estándar.
¿Puedo controlar las dimensiones de la imagen de salida?
Sí. Los constructores de Device aceptan parámetros de ancho y alto además de o en lugar de la resolución.
Resumen de la referencia API
| Class / Method | Description |
|---|---|
PngDevice | Renderizar una página al formato PNG |
JpegDevice | Renderizar una página a JPEG con control de calidad |
TiffDevice | Renderizar páginas a TIFF multipágina |
BmpDevice | Renderizar una página al formato BMP |
ImageDevice | Clase base para todos los dispositivos de renderizado de imágenes |
DocumentDevice | Clase base para dispositivos que procesan documentos completos |
TextDevice | Extraer texto mediante la canalización del dispositivo |
Resolution | Especificación de DPI para el renderizado |
TiffSettings | Configuración de salida TIFF (compresión, profundidad de color) |