Converti PDF in vari formati di immagine con Python

2024-01-17 02:09:19 Tesia tian

Convert PDF to Various Image Formats with Python

La conversione di PDF in immagine offre numerosi vantaggi, tra cui maggiore compatibilità, maggiore flessibilità di modifica, condivisione semplificata e rappresentazione visiva ottimizzata. La conversione di PDF in immagini garantisce la compatibilità su varie piattaforme e dispositivi, poiché le immagini sono ampiamente supportate e facilmente visualizzabili. Consente inoltre opzioni di modifica più flessibili, poiché le immagini possono essere modificate utilizzando una gamma di software di progettazione grafica. Inoltre, la conversione dei PDF in immagini semplifica la condivisione, poiché i file immagine sono di dimensioni più piccole e possono essere facilmente condivisi via e-mail o su diverse piattaforme digitali. Infine, convertendo i PDF in immagini, il contenuto visivo viene ottimizzato per una migliore rappresentazione, facilitandone l'integrazione in presentazioni, siti Web o altri progetti visivi.

In questo articolo, presenteremo come farlo facilmente converti PDF in diversi formati di file immagine come PNG, JPG, EMF, SVG e TIFF utilizzando Python.

Libreria Python per la conversione da PDF a immagine

Tra le numerose librerie sul mercato che supportano la conversione di PDF in immagini, Spire.PDF for Python fornisce l'interfaccia di conversione più efficiente. Offre flessibilità nella scelta del formato di output, della risoluzione e dell'intervallo di pagine per la conversione. Usandolo, puoi convertire singole pagine PDF o l'intero documento sia in grafica bitmap che in grafica vettoriale con poche righe di codice.

  • La grafica bitmap è composta da pixel, dipende dalla risoluzione e è adatta per immagini realistiche. Esempi di formati bitmap includono JPG, PNG e GIF.
  • La grafica vettoriale si basa su equazioni matematiche, è indipendente dalla risoluzione e è ideale per illustrazioni e progetti scalabili. Formati come SVG e AI sono esempi di formati di grafica vettoriale.

Prima di poter eseguire i frammenti di codice indicati di seguito, dovrai installare Spire.PDF for Python tramite il seguente comando pip.

pip install Spire.PDF

Converti un documento PDF in file PNG, JPG, GIF, BMP, EMF in Python

Spire.PDF for Python fornisce il metodo SaveAsImage, che consente agli utenti di convertire pagine specifiche di un documento PDF in un flusso di immagini Bitmap. Questo flusso di immagini può quindi essere esportato come file immagine con estensione PNG, JPG, BPM, GIF o EMF.

Il seguente frammento di codice mostra come convertire un documento PDF in più file di immagine bitmap in Python. Una pagina PDF produce un file immagine.

  • Python
from spire.pdf.common import *
    from spire.pdf import *
    
    # Create a PdfDocument object
    doc = PdfDocument()
    
    # Load a PDF document
    doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Input.pdf")
    
    # Iterate through all pages in the document
    for i in range(doc.Pages.Count):
    
        # Convert a specific page to an image stream
        with doc.SaveAsImage(i) as image:
            
            # Save the image stream as a PNG file
            image.Save("Output\\ConversionResults\\ToImage-{0:d}.png".format(i))
    
            # Save the image stream as a JPG file
            image.Save("Output\\ConversionResults\\ToImage-{0:d}.jpg".format(i))
    
            # Save the image stream as a BMP file
            image.Save("Output\\ConversionResults\\ToImage-{0:d}.bmp".format(i))
    
            # Save the image stream as a GIF file
            image.Save("Output\\ConversionResults\\ToImage-{0:d}.gif".format(i))
    
            # Save the image stream as an EMF file
            image.Save("Output\\ConversionResults\\ToImage-{0:d}.emf".format(i))
    
    # Close the document
    doc.Close()

Converti un documento PDF in file SVG in Python

Per completare la conversione da un file PDF a file SVG, puoi chiamare il metodo SaveToFile(filename: str, startIndex: int, endIndex: int, fileFormat: FileFormat) e specificare il formato del file di output come SVG. Il seguente frammento di codice Python carica un documento PDF e salva ogni pagina come un singolo file SVG.

  • Python
from spire.pdf.common import *
    from spire.pdf import *
    
    # Create a PdfDocument object
    doc = PdfDocument()
    
    # Load a PDF document
    doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Input.pdf")
    
    # Iterate through all pages in the document
    for i in range(doc.Pages.Count):
        
        # Convert a specific page to a SVG file
        doc.SaveToFile("Output\\ConversionResults\\ToImage-{0:d}.svg".format(i), i, i, FileFormat.SVG)
    
    # Close the document
    doc.Close()

Converti un documento PDF in un file TIFF multipagina in Python

Spire.PDF for Python non fornisce un metodo semplice per convertire PDF in TIFF. Tuttavia, è possibile combinare la grafica bitmap generata da Spire.PDF in un unico documento TIFF. Ciò richiede un'installazione aggiuntiva di Python Imaging Library (PIL), che è una libreria gratuita e open source per manipolare diversi formati di file immagine utilizzando il linguaggio Python.

pip install Pillow

Il codice seguente mostra come convertire un documento PDF in un file TIFF multipagina utilizzando Spire.PDF for Python e PIL.

  • Python
from spire.pdf.common import *
    from spire.pdf import *
    
    from PIL import Image
    from io import BytesIO
    
    # Create a PdfDocument object
    doc = PdfDocument()
    
    # Load a PDF document
    doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Input.pdf")
    
    # Create an empty list to store PIL Images
    images = []
    
    # Iterate through all pages in the document
    for i in range(doc.Pages.Count):
    
        # Convert a specific page to an image stream
        with doc.SaveAsImage(i) as imageData:
    
            # Open the image stream as a PIL image
            img = Image.open(BytesIO(imageData.ToArray())) 
    
            # Append the PIL image to list
            images.append(img)
    
    # Save the PIL Images as a multi-page TIFF file
    images[0].save("Output/Result.tiff", save_all=True, append_images=images[1:])
    
    # Close the document
    doc.Close()

Conclusione

In questo post del blog, abbiamo esplorato come convertire PDF nei formati di file immagine più diffusi come PNG, JPG, SVG e TIFF utilizzando Spire.PDF for Python. Con l'aiuto di questa libreria PDF, puoi convertire una pagina particolare o l'intero documento PDF in immagini di alta qualità. Al contrario, questa libreria te lo permette convertire l'immagine in PDF anche. Per ulteriori tutorial, consulta il nostro documentazione in linea. In caso di domande, non esitate a contattarci tramite il Forum Spire.PDF.

Guarda anche