Converti immagine in PDF con Python

2023-12-29 07:39:45

La conversione di un'immagine in PDF è un modo comodo ed efficiente per trasformare un file visivo in un formato portatile e universalmente leggibile. Che tu stia lavorando con un documento scansionato, una foto o un'immagine digitale, convertirlo in PDF offre numerosi vantaggi. Mantiene la qualità originale dell'immagine e garantisce la compatibilità tra diversi dispositivi e sistemi operativi. Inoltre, la conversione delle immagini in PDF consente una facile condivisione, stampa e archiviazione, rendendola una soluzione versatile per vari scopi professionali, educativi e personali. Questo articolo fornisce diversi esempi che mostrano come convertire immagini in PDF utilizzando Python.

API di conversione PDF per Python

Se desideri trasformare i file di immagine in formato PDF in un'applicazione Python, Spire.PDF for Python può aiutarti in questo. Ti consente di creare un documento PDF con impostazioni di pagina personalizzate (dimensioni e margini), aggiungere una o più immagini a ogni singola pagina e salvare il documento finale come file PDF. Sono supportati vari formati di immagine che includono immagini PNG, JPEG, BMP e GIF.

Oltre alla conversione da immagini a PDF, questa libreria supporta la conversione da PDF a Word, da PDF a Excel, da PDF a HTML, da PDF a PDF/Acon alta qualità e precisione. Essendo una libreria PDF Python avanzata, fornisce anche una ricca API che consente agli sviluppatori di personalizzare le opzioni di conversione per soddisfare una varietà di requisiti di conversione.

Puoi installarlo eseguendo il seguente comando pip.

pip install Spire.PDF

Passaggi per convertire un'immagine in PDF in Python

  • Inizializza la classe PdfDocument.
  • Carica un file immagine dal percorso utilizzando il metodo FromFile.
  • Aggiungi una pagina con la dimensione specificata al documento.
  • Disegna l'immagine sulla pagina nella posizione specificata utilizzando il metodo DrawImage.
  • Salva il documento in un file PDF utilizzando il metodo SaveToFile.

Converti un'immagine in un documento PDF in Python

Questo esempio di codice converte un file immagine in un documento PDF utilizzando la libreria Spire.PDF for Python creando un documento vuoto, aggiungendo una pagina con le stesse dimensioni dell'immagine e disegnando l'immagine sulla pagina.

  • Python
from spire.pdf.common import *
from spire.pdf import *

# Create a PdfDocument object
doc = PdfDocument()

# Set the page margins to 0
doc.PageSettings.SetMargins(0.0)

# Load a particular image
image = PdfImage.FromFile("C:\\Users\\Administrator\\Desktop\\Images\\img-1.jpg")

# Get the image width and height
width = image.PhysicalDimension.Width
height = image.PhysicalDimension.Height

# Add a page that has the same size as the image
page = doc.Pages.Add(SizeF(width, height))

# Draw image at (0, 0) of the page
page.Canvas.DrawImage(image, 0.0, 0.0, width, height)

# Save to file
doc.SaveToFile("output/ImageToPdf.pdf")
doc.Dispose()

Convert Image to PDF with Python

Converti più immagini in un documento PDF in Python

Questo esempio illustra come convertire una raccolta di immagini in un documento PDF utilizzando Spire.PDF for Python. Il seguente frammento di codice legge le immagini da una cartella specificata, crea un documento PDF, aggiunge ciascuna immagine a una pagina separata nel PDF e salva il file PDF risultante.

  • Python
from spire.pdf.common import *
from spire.pdf import *
import os

# Create a PdfDocument object
doc = PdfDocument()

# Set the page margins to 0
doc.PageSettings.SetMargins(0.0)

# Get the folder where the images are stored
path = "C:\\Users\\Administrator\\Desktop\\Images\\"
files = os.listdir(path)

# Iterate through the files in the folder
for root, dirs, files in os.walk(path):
    for file in files:

        # Load a particular image
        image = PdfImage.FromFile(os.path.join(root, file))

        # Get the image width and height
        width = image.PhysicalDimension.Width
        height = image.PhysicalDimension.Height

        # Add a page that has the same size as the image
        page = doc.Pages.Add(SizeF(width, height))

        # Draw image at (0, 0) of the page
        page.Canvas.DrawImage(image, 0.0, 0.0, width, height)

# Save to file
doc.SaveToFile('output/ImagesToPdf.pdf')
doc.Dispose()

Convert Image to PDF with Python

Crea un PDF da più immagini personalizzando i margini della pagina in Python

Questo esempio di codice crea un documento PDF e lo popola con immagini da una cartella specificata, regola i margini della pagina e salva il documento risultante in un file.

  • Python
from spire.pdf.common import *
from spire.pdf import *
import os

# Create a PdfDocument object
doc = PdfDocument()

# Set the left, top, right, bottom page margin
doc.PageSettings.SetMargins(30.0, 30.0, 30.0, 30.0)

# Get the folder where the images are stored
path = "C:\\Users\\Administrator\\Desktop\\Images\\"
files = os.listdir(path)

# Iterate through the files in the folder
for root, dirs, files in os.walk(path):
    for file in files:

        # Load a particular image
        image = PdfImage.FromFile(os.path.join(root, file))

        # Get the image width and height
        width = image.PhysicalDimension.Width
        height = image.PhysicalDimension.Height

        # Specify page size
        size = SizeF(width + doc.PageSettings.Margins.Left + doc.PageSettings.Margins.Right, height + doc.PageSettings.Margins.Top+ doc.PageSettings.Margins.Bottom)

        # Add a page with the specified size
        page = doc.Pages.Add(size)

        # Draw image on the page at (0, 0)
        page.Canvas.DrawImage(image, 0.0, 0.0, width, height)

# Save to file
doc.SaveToFile('output/CustomizeMargins.pdf')
doc.Dispose()

Convert Image to PDF with Python

Crea un PDF con diverse immagini per pagina in Python

Questo codice dimostra come utilizzare la libreria Spire.PDF in Python per creare un documento PDF con due immagini per pagina. Le immagini in questo esempio hanno le stesse dimensioni, se la dimensione dell'immagine non è coerente, è necessario modificare il codice per ottenere il risultato desiderato.

  • Python
from spire.pdf.common import *
from spire.pdf import *
import os

# Create a PdfDocument object
doc = PdfDocument()

# Set the left, top, right, bottom page margins
doc.PageSettings.SetMargins(15.0, 15.0, 15.0, 15.0)

# Get the folder where the images are stored
path = "C:\\Users\\Administrator\\Desktop\\Images\\"
files = os.listdir(path)

# Iterate through the files in the folder
for root, dirs, files in os.walk(path):

    for i in range(len(files)):

        # Load a particular image
        image = PdfImage.FromFile(os.path.join(root, files[i]))

        # Get the image width and height
        width = image.PhysicalDimension.Width
        height = image.PhysicalDimension.Height

        # Specify page size
        size = SizeF(width + doc.PageSettings.Margins.Left + doc.PageSettings.Margins.Right, height*2 + doc.PageSettings.Margins.Top+ doc.PageSettings.Margins.Bottom + 15.0)

        if i % 2 == 0:

            # Add a page with the specified size
            page = doc.Pages.Add(size)

            # Draw first image on the page at (0, 0)
            page.Canvas.DrawImage(image, 0.0, 0.0, width, height)
        else :

            # Draw second image on the page at (0, height + 15)
            page.Canvas.DrawImage(image, 0.0, height + 15.0, width, height)

# Save to file
doc.SaveToFile('output/SeveralImagesPerPage.pdf')
doc.Dispose()

Convert Image to PDF with Python

Conclusione

In questo post del blog, abbiamo esplorato come utilizzare Spire.PDF for Python per creare documenti PDF da immagini, contenenti una o più immagini per pagina. Inoltre, abbiamo dimostrato come personalizzare le dimensioni della pagina PDF e i margini attorno alle immagini. Per ulteriori tutorial, consulta la nostra documentazione online. Se avete domande, non esitate a contattarci tramite e-mail o sul Forum.

Guarda anche