Converta PDF em vários formatos de imagem com Python

2024-01-17 02:17:54 Tesia tian

Convert PDF to Various Image Formats with Python

A conversão de PDF em imagem oferece vários benefícios, incluindo compatibilidade aprimorada, flexibilidade de edição aprimorada, compartilhamento simplificado e representação visual otimizada. A conversão de PDFs em imagens garante compatibilidade entre várias plataformas e dispositivos, pois as imagens são amplamente suportadas e facilmente visualizadas. Também permite opções de edição mais flexíveis, já que as imagens podem ser editadas usando uma variedade de softwares de design gráfico. Além disso, a conversão de PDFs em imagens simplifica o compartilhamento, pois os arquivos de imagem são menores e podem ser facilmente compartilhados por e-mail ou em diferentes plataformas digitais. Por fim, ao converter PDFs em imagens, o conteúdo visual é otimizado para uma melhor representação, facilitando a integração em apresentações, sites ou outros projetos visuais.

Neste artigo, vamos apresentar como facilmente converta PDF para diferentes formatos de arquivo de imagem, como PNG, JPG, EMF, SVG e TIFF usando Python.

Biblioteca Python para conversão de PDF em imagem

Entre as muitas bibliotecas do mercado que suportam a conversão de PDF em imagens, Spire.PDF for Python oferece a interface de conversão mais eficiente. Oferece flexibilidade na escolha do formato de saída, resolução e intervalo de páginas para conversão. Usando-o, você pode converter páginas PDF individuais ou o documento inteiro em gráficos bitmap e gráficos vetoriais com algumas linhas de código.

  • Os gráficos bitmap são feitos de pixels, dependem da resolução e são adequados para imagens realistas. Exemplos de formatos de bitmap incluem JPG, PNG e GIF.
  • Os gráficos vetoriais são baseados em equações matemáticas, são independentes de resolução e são melhores para ilustrações e designs escalonáveis. Formatos como SVG e AI são exemplos de formatos gráficos vetoriais.

Antes de poder executar os trechos de código fornecidos abaixo, você precisará instalar o Spire.PDF for Python por meio do seguinte comando pip.

pip install Spire.PDF

Converta um documento PDF em arquivos PNG, JPG, GIF, BMP, EMF em Python

Spire.PDF for Python fornece o método SaveAsImage, que permite aos usuários converter páginas específicas de um documento PDF em um fluxo de imagem Bitmap. Esse fluxo de imagem pode então ser exportado como um arquivo de imagem com extensão PNG, JPG, BPM, GIF ou EMF.

O trecho de código a seguir mostra como converter um documento PDF em vários arquivos de imagem bitmap em Python. Uma página PDF produz um arquivo de imagem.

  • 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()

Converta um documento PDF em arquivos SVG em Python

Para concluir a conversão de arquivos PDF em SVG, você pode chamar o método SaveToFile(filename: str, startIndex: int, endIndex: int, fileFormat: FileFormat) e especificar o formato do arquivo de saída como SVG. O trecho de código Python a seguir carrega um documento PDF e salva cada página como um arquivo SVG individual.

  • 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()

Converta um documento PDF em um arquivo TIFF de várias páginas em Python

Spire.PDF for Python não fornece um método simples para converter PDF em TIFF. No entanto, você pode combinar os gráficos Bitmap gerados pelo Spire.PDF em um único documento TIFF. Isso requer uma instalação adicional da Python Imaging Library (PIL), que é uma biblioteca gratuita e de código aberto para manipular diferentes formatos de arquivo de imagem usando a linguagem Python.

pip install Pillow

O código a seguir mostra como converter um documento PDF em um arquivo TIFF de várias páginas usando 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()

Conclusão

Nesta postagem do blog, exploramos como converter PDF em formatos de arquivo de imagem populares como PNG, JPG, SVG e TIFF usando Spire.PDF for Python. Com a ajuda desta biblioteca PDF, você pode converter uma página específica ou todo o documento PDF em imagens de alta qualidade. Pelo contrário, esta biblioteca permite-lhe converter imagem em PDF também. Para mais tutoriais, confira nosso documentação on-line. Caso tenha alguma dúvida, não hesite em contactar-nos através do Fórum Spire.PDF.

Veja também