Cosa fa questo strumento
Questo convertitore renderizza ogni pagina di un PDF come immagine PNG o JPEG, renderizzata nel tuo browser alla risoluzione che scegli. Trascina un PDF e ottieni una griglia di miniature; scegli un formato e una scala, poi o scarichi tutte le pagine in una volta o salvi quelle individuali. Il PDF è parsato da pdf.js dentro il tuo tab, disegnato su canvas off-screen, e solo quelle canvas escono mai da una finestra di download. Non c'è upload.
Quando usarlo
- Postare una pagina PDF su un forum o piattaforma di chat che non accetta allegati PDF inline.
- Generare miniature per un sito portfolio senza tirare su un renderer lato server.
- Estrarre figure da un paper per incollarle in slide o un altro documento.
- Creare un'anteprima email-friendly di un PDF per destinatari su connessioni lente.
- Produrre input per una pipeline OCR che vuole immagini raster, non PDF vettoriale.
Come funziona
pdf.js carica il documento ed espone un metodo getPage(n) per pagina. Per ogni pagina chiediamo un viewport alla scala scelta (1×, 1,5×, 2×, 2,5× o 3×) e la disegniamo in un nuovo <canvas> la cui larghezza e altezza corrispondono al viewport in pixel. La canvas viene poi codificata con canvas.toBlob() (image/png o image/jpeg a qualità 0,92 per JPEG) e o vista in anteprima come miniatura o salvata come download.
Cambiare il formato è poco costoso perché la canvas è già renderizzata — si ricodificano semplicemente gli stessi pixel in PNG o JPEG e si rinfrescano le miniature. Cambiare la scala è più costoso: una scala diversa richiede una risoluzione di canvas diversa, quindi lo strumento rilancia il rendering di pagina di pdf.js al nuovo viewport. Il limite duro di 100 pagine è una valvola di sicurezza per il thread principale del browser; oltre, il tempo di rendering e l'uso di memoria crescono in modo scomodo per un tab.
Il worker pdf.js viene caricato come asset same-origin (Vite lo emette al build), quindi nessuna CDN di terze parti coinvolta. Una volta caricato, non si verifica altro traffico di rete — ogni rendering di pagina e codifica di immagine è locale.
Note
PNG o JPEG? PNG è lossless, più grande, e ottimo per pagine con testo o grafica nitida. JPEG è più piccolo e ben adatto a pagine ricche di immagini (scansioni, foto, mappe), ma può introdurre artefatti di compressione visibili sui bordi del testo. Il default è PNG; passa a JPEG quando la dimensione del file conta.
Perché la scala 3× sembra uguale sul mio schermo? La densità di pixel del tuo monitor cappa ciò che puoi vedere al momento dell'anteprima, ma il file di output è davvero a 3× la risoluzione. La miniatura nella griglia è ridimensionata dal browser; l'immagine che scarichi è a dimensione piena.
Il PDF cifrato funziona? I PDF con password di apertura standard di solito renderizzano tramite pdf.js. I PDF cifrati nel contenuto o con DRM possono fallire; il pannello mostrerà un errore di caricamento e niente renderizza.
Posso renderizzare solo una specifica pagina? La griglia mostra ogni pagina; clicca sulla piccola icona di download su una singola miniatura per salvare solo quella pagina. Non c'è un toggle separato « renderizza solo la pagina X » — alla scala 1×, renderizzare un PDF di 50 pagine è abbastanza veloce che il costo non è significativo.
Strumenti correlati
- Divisore PDF — estrai prima le pagine come un PDF più piccolo
- Compressore di immagini — riduci il PNG/JPEG risultante
- Convertitore di immagini — converti PNG/JPEG in WebP dopo il rendering