Dispositivi e Rendering
Dispositivi e Rendering
Aspose.PDF FOSS for .NET fornisce classi dispositivo che rendono le pagine PDF in immagini raster. Ogni dispositivo è destinato a un formato specifico — TIFF, JPEG, PNG o BMP — e accetta parametri di risoluzione e qualità.
Rendering in PNG
PngDevice converte una pagina PDF in un’immagine 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);Rendering in JPEG
JpegDevice converte una pagina in JPEG con qualità configurabile.
var device = new JpegDevice(new Resolution(150), 90); // 90% quality
using var stream = File.Create("page1.jpg");
device.Process(doc.Pages[1], stream);Rendering in TIFF
TiffDevice converte una o più pagine in un’immagine TIFF multi-pagina.TiffSettings controlla la compressione, la profondità di colore e 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 pagesRendering in BMP
BmpDevice converte una pagina in una bitmap non compressa.
var device = new BmpDevice(new Resolution(300));
using var stream = File.Create("page1.bmp");
device.Process(doc.Pages[1], stream);Controllo della risoluzione
Tutti i dispositivi accettano un oggetto Resolution che specifica DPI.
var lowRes = new Resolution(72); // Screen quality
var midRes = new Resolution(150); // Print draft
var hiRes = new Resolution(300); // Print qualityEstrazione del testo tramite TextDevice
TextDevice estrae il testo da una pagina utilizzando la pipeline di elaborazione 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());Suggerimenti e migliori pratiche
- Usa 300 DPI per output di qualità di stampa e 72-150 DPI per l’uso su schermo/web.
TiffDevicepuò elaborare l’intero documento in una sola chiamata; altri dispositivi elaborano una pagina alla volta.- I valori di qualità JPEG vanno da 0 a 100; 85-90 offrono un buon equilibrio tra qualità e dimensione del file.
- Per la conversione batch, itera le pagine ed elabora ciascuna con il dispositivo appropriato.
- Rilascia gli stream dopo l’elaborazione per liberare i handle dei file.
Problemi comuni
| Issue | Cause | Fix |
|---|---|---|
| L’immagine è sfocata | Risoluzione troppo bassa | Aumentare DPI nel costruttore Resolution |
| File TIFF troppo grande | Impostazioni non compresse o ad alta risoluzione | Configurare la compressione TiffSettings |
| Il flusso di output è vuoto | Process non chiamato o indice di pagina errato | Verificare che la pagina esista e che Process sia completato |
FAQ
Posso renderizzare un intervallo di pagine specifico in TIFF?
Sì. TiffDevice.Process ha overload che accettano i numeri di pagina di inizio e fine.
Quali tipi di compressione supporta TiffSettings?
LZW, CCITT3, CCITT4, RLE, None e altri tipi di compressione TIFF standard.
Posso controllare le dimensioni dell’immagine di output?
Sì. I costruttori di Device accettano i parametri larghezza e altezza, oltre a o al posto della risoluzione.
Riepilogo del Riferimento API
| Class / Method | Description |
|---|---|
PngDevice | Renderizza una pagina in formato PNG |
JpegDevice | Renderizza una pagina in JPEG con controllo della qualità |
TiffDevice | Renderizza pagine in TIFF multi-pagina |
BmpDevice | Renderizza una pagina in formato BMP |
ImageDevice | Classe base per tutti i dispositivi di rendering delle immagini |
DocumentDevice | Classe base per i dispositivi che elaborano documenti interi |
TextDevice | Estrai il testo tramite la pipeline del dispositivo |
Resolution | Specificazione DPI per il rendering |
TiffSettings | Configurazione dell’output TIFF (compressione, profondità colore) |