Questa pagina può contenere testo tradotto automaticamente.
Converti PDF in immagine in C# e VB.NET
Ci sono casi in cui è necessario convertire PDF in immagini. Ad esempio, potresti dover creare miniature da PDF o eseguire il riconoscimento ottico dei caratteri (OCR) su alcuni documenti PDF.
Puoi usare Docotic.Pdf library per convertire documenti PDF in immagini in progetti C# e VB.NET. La libreria è gestita al 100% senza dipendenze esterne. Non usa System.Drawing.dll e GDI+ per la rasterizzazione dei PDF. Pertanto, otterrai un output coerente su Windows, Linux, macOS, iOS e Android.
La libreria è disponibile su NuGet e sul nostro sito. Scarica la libreria e una chiave di licenza gratuita a tempo limitato nella pagina Scarica la libreria PDF C# .NET.
Docotic.Pdf offre molte opzioni per la conversione da PDF a immagine. E può anche eseguire il rendering e stampare documenti PDF. Vediamo come puoi convertire PDF in immagini usando la libreria Docotic.Pdf.

Salva la pagina PDF come immagine PNG, JPG o TIFF
La libreria Docotic.Pdf consente di convertire pagine PDF in immagini PNG, JPEG o TIFF. Puoi scrivere le immagini risultanti in un flusso o in un file. Questo frammento C# salva le pagine PDF in immagini PNG con uno sfondo bianco e risoluzione di 300x300 dpi:
using BitMiracle.Docotic.Pdf;
using var pdf = new PdfDocument("your_document.pdf");
PdfDrawOptions options = PdfDrawOptions.Create();
options.BackgroundColor = new PdfRgbColor(255, 255, 255);
options.HorizontalResolution = 300;
options.VerticalResolution = 300;
for (int i = 0; i < pdf.PageCount; ++i)
pdf.Pages[i].Save($"page_{i}.png", options);
Puoi indicare alla libreria di produrre immagini JPEG o TIFF invece di PNG usando la proprietà PdfDrawOptions.Compression. Il frammento seguente mostra come passare alla creazione di immagini JPEG:
PdfDrawOptions options = PdfDrawOptions.Create();
options.Compression = ImageCompressionOptions.CreateJpeg();
Gli esempi in C# e VB.NET sono disponibili su GitHub.
PDF in documento TIFF multipagina in .NET
Puoi salvare l'intero documento in un'immagine TIFF multipagina usando il metodo PdfDocument.SaveAsTiff. Ecco un esempio C# per la conversione da PDF a TIFF:
using var pdf = new PdfDocument("document.pdf");
PdfDrawOptions options = PdfDrawOptions.Create();
options.BackgroundColor = new PdfRgbColor(255, 255, 255);
pdf.SaveAsTiff("result.tiff", options);
Scarica e prova il codice di esempio Salva PDF come TIFF multipagina da GitHub. Sono disponibili entrambe le versioni C# e VB.NET.
Crea miniature da PDF
Con l'aiuto della libreria Docotic.Pdf, puoi generare miniature dalle pagine PDF. Questo esempio C# crea una miniatura di 200x200 pixel dalla prima pagina del PDF specificato e scrive la miniatura in un flusso di memoria:
using var pdf = new PdfDocument("document.pdf");
PdfDrawOptions options = PdfDrawOptions.CreateFitSize(new PdfSize(200, 200), false);
options.BackgroundColor = new PdfGrayColor(100);
using var stream = new MemoryStream();
pdf.Pages[0].Save(stream, options);
Puoi anche usare il metodo PdfDrawOptions.CreateFitWidth o PdfDrawOptions.CreateFitHeight per produrre immagini miniatura di larghezza o altezza specificata.
Converti PDF in immagini bitonali o in scala di grigi in .NET
La libreria può convertire documenti PDF in immagini TIFF bitonali (bianco e nero). Questo esempio mostra come produrre un'immagine TIFF bitonale da un documento PDF in C#:
using var pdf = new PdfDocument("colored.pdf");
PdfDrawOptions options = PdfDrawOptions.Create();
options.BackgroundColor = new PdfRgbColor(255, 255, 255);
options.Compression = ImageCompressionOptions.CreateTiff().SetBitonal();
pdf.SaveAsTiff("bitonal.tiff", options);
Puoi anche specificare un livello di soglia quando usi il metodo TiffImageCompressionOptions.SetBitonalThreshold. Il livello di soglia definisce come trasformare i colori in scala di grigi, RGB o CMYK in bianco e nero.
Docotic.Pdf supporta anche la conversione da PDF in immagini PNG, JPG o TIFF in scala di grigi. Usa semplicemente uno dei metodi PngImageCompressionOptions.SetGrayscale, JpegImageCompressionOptions.SetGrayscale, TiffImageCompressionOptions.SetGrayscale come nel frammento seguente:
PdfDrawOptions options = PdfDrawOptions.Create();
options.Compression = ImageCompressionOptions.CreatePng().SetGrayscale();
Zoom del PDF
Il metodo PdfDrawOptions.CreateZoom consente di ottenere un'immagine di una pagina PDF con un livello di zoom specificato. Questo esempio C# converte una pagina PDF in un'immagine con zoom al 400%:
using var pdf = new PdfDocument(@"document.pdf");
PdfDrawOptions options = PdfDrawOptions.CreateZoom(400);
pdf.Pages[0].Save("zoomed.png", options);
Rendering parziale di PDF in immagine
Potresti dover convertire in immagine solo una parte di una pagina PDF. Ad esempio, per suddividere una grande pagina PDF in tasselli. Oppure per ritagliare contenuti indesiderati.
Questo codice C# salva l'immagine di un'area di 256x256 punti nell'angolo in alto a sinistra di una pagina PDF:
using var pdf = new PdfDocument("large.pdf");
PdfDrawOptions options = PdfDrawOptions.Create();
options.BackgroundColor = new PdfRgbColor(255, 255, 255);
PdfPage page = pdf.Pages[0];
PdfBox cropBoxBefore = page.CropBox;
page.CropBox = new PdfBox(0, cropBoxBefore.Height - 256, 256, cropBoxBefore.Height);
page.Save("part.png", options);
page.CropBox = cropBoxBefore;
Rendering di PDF in immagine a tasselli
Docotic.Pdf fornisce supporto integrato per il rendering a tasselli di PDF in TIFF. Questo metodo è utile quando devi elaborare grandi pagine PDF usando una quantità fissa di memoria.
Per esempio, il tuo documento PDF contiene una pagina di dimensioni 10000x10000 punti. La conversione normale di questa pagina in un'immagine RGB a risoluzione 300 DPI richiede oltre 1 GB (= 10000 * 10000 * 3 * 300 / 72.0 bytes) di memoria per i dati intermedi non compressi dell'immagine RGB. Usando il rendering a tasselli con tasselli 1024x1024, puoi limitare il consumo di memoria per i dati dell'immagine RGB non compressa a 12 MB (= 1024 * 1024 * 3 * 300 / 72.0 bytes).
Nota che la conversione da PDF in immagine con tasselli è più lenta della conversione normale. Per ogni tassello, la libreria deve elaborare tutte le operazioni della pagina PDF, anche se alcune di esse non influiscono sul tassello corrente.
Questo esempio C# mostra come convertire PDF in immagine usando tasselli 512x512:
using var pdf = new PdfDocument("large.pdf");
PdfDrawOptions options = PdfDrawOptions.Create();
options.Compression = ImageCompressionOptions.CreateTiff().SetTileSize(512, 512);
options.BackgroundColor = new PdfGrayColor(100);
options.HorizontalResolution = 300;
options.VerticalResolution = 300;
pdf.Pages[0].Save("tiled.tiff", options);
Conclusione
Docotic.Pdf library offre diverse opzioni per la conversione da PDF a immagine in .NET. Puoi convertire pagine PDF in immagini a dimensione intera o in miniatura nei formati PNG, TIFF e JPEG. E puoi salvare documenti PDF come file TIFF multipagina. La libreria può anche produrre immagini bitonali e in scala di grigi.
Scarica e prova gli esempi PDF to image da GitHub.
Contattaci se hai domande sulla conversione da PDF a immagine.
Risorse correlate
- Renderizza e stampa PDF in C# e VB.NET articolo
- Converti PDF in JPG in .NET articolo
- PDF in immagine esempi