Converter imagem em PDF com Python

2023-12-29 07:44:59

Converter uma imagem em PDF é uma maneira conveniente e eficiente de transformar um arquivo visual em um formato portátil e de leitura universal. Esteja você trabalhando com um documento digitalizado, uma foto ou uma imagem digital, convertê-lo para PDF oferece vários benefícios. Mantém a qualidade original da imagem e garante compatibilidade entre diversos dispositivos e sistemas operacionais. Além disso, a conversão de imagens para PDF permite fácil compartilhamento, impressão e arquivamento, tornando-a uma solução versátil para diversos fins profissionais, educacionais e pessoais. Este artigo fornece vários exemplos que mostram como converta imagens em PDF usando Python.

API de conversão de PDF para Python

Se você deseja transformar arquivos de imagem em formato PDF em um aplicativo Python, Spire.PDF for Python pode ajudar com isso. Ele permite que você crie um documento PDF com configurações de página personalizadas (tamanho e margens), adicione uma ou mais imagens a cada página e salve o documento final como um arquivo PDF. Vários formatos de imagem são suportados, incluindo imagens PNG, JPEG, BMP e GIF.

Além da conversão de imagens para PDF, esta biblioteca suporta a conversão de PDF para Word, PDF para Excel, PDF para HTML, PDF para PDF/A com alta qualidade e precisão. Como uma biblioteca Python PDF avançada, ela também fornece uma API avançada para que os desenvolvedores personalizem as opções de conversão para atender a uma variedade de requisitos de conversão.

Você pode instalá-lo executando o seguinte comando pip.

pip install Spire.PDF

Etapas para converter uma imagem em PDF em Python

  • Inicialize a classe PdfDocument.
  • Carregue um arquivo de imagem do caminho usando o método FromFile.
  • Adicione uma página com o tamanho especificado ao documento.
  • Desenhe a imagem na página no local especificado usando o método DrawImage.
  • Salve o documento em um arquivo PDF usando o método SaveToFile.

Converta uma imagem em um documento PDF em Python

Este exemplo de código converte um arquivo de imagem em um documento PDF usando a biblioteca Spire.PDF for Python criando um documento em branco, adicionando uma página com as mesmas dimensões da imagem e desenhando a imagem na página.

  • 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

Converta várias imagens em um documento PDF em python

Este exemplo ilustra como converter uma coleção de imagens em um documento PDF usando Spire.PDF for Python. O trecho de código a seguir lê imagens de uma pasta especificada, cria um documento PDF, adiciona cada imagem a uma página separada no PDF e salva o arquivo PDF resultante.

  • 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

Crie um PDF a partir de várias imagens personalizando as margens da página em Python

Este exemplo de código cria um documento PDF e o preenche com imagens de uma pasta especificada, ajusta as margens da página e salva o documento resultante em um arquivo.

  • 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

Crie um PDF com várias imagens por página em Python

Este código demonstra como usar a biblioteca Spire.PDF em Python para criar um documento PDF com duas imagens por página. As imagens neste exemplo são do mesmo tamanho. Se o tamanho da imagem não for consistente, será necessário ajustar o código para obter o resultado desejado. ​

  • 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

Conclusão

Nesta postagem do blog, exploramos como usar Spire.PDF for python para criar documentos PDF a partir de imagens, contendo uma ou mais imagens por página. Além disso, demonstramos como personalizar o tamanho da página PDF e as margens ao redor das imagens. Para mais tutoriais, confira nossa documentação online. Se você tiver alguma dúvida, não hesite em nos contatar por e-mail ou no fórum.

Veja também