Convierta PDF a varios formatos de imagen con Python

2024-01-17 02:14:06

Convert PDF to Various Image Formats with Python

La conversión de PDF a imagen ofrece varios beneficios, que incluyen compatibilidad mejorada, flexibilidad de edición mejorada, uso compartido simplificado y representación visual optimizada. La conversión de archivos PDF a imágenes garantiza la compatibilidad entre diversas plataformas y dispositivos, ya que las imágenes son ampliamente compatibles y fáciles de ver. También permite opciones de edición más flexibles, ya que las imágenes se pueden editar utilizando una variedad de software de diseño gráfico. Además, convertir archivos PDF a imágenes simplifica el uso compartido, ya que los archivos de imágenes son más pequeños y se pueden compartir fácilmente por correo electrónico o entre diferentes plataformas digitales. Finalmente, al convertir archivos PDF en imágenes, el contenido visual se optimiza para una mejor representación, lo que facilita su integración en presentaciones, sitios web u otros proyectos visuales.

En este artículo, presentaremos cómo fácilmente convierta PDF a diferentes formatos de archivos de imagen como PNG, JPG, EMF, SVG y TIFF usando Python.

Biblioteca Python para conversión de PDF a imagen

Entre las muchas bibliotecas del mercado que admiten la conversión de PDF a imágenes, Spire.PDF for Python proporciona la interfaz de conversión más eficiente. Ofrece flexibilidad para elegir el formato de salida, la resolución y el rango de páginas para la conversión. Al usarlo, puede convertir páginas PDF individuales o el documento completo en gráficos de mapa de bits y gráficos vectoriales con unas pocas líneas de código.

  • Los gráficos de mapa de bits están formados por píxeles, dependen de la resolución y son adecuados para imágenes realistas. Ejemplos de formatos de mapa de bits incluyen JPG, PNG y GIF.
  • Los gráficos vectoriales se basan en ecuaciones matemáticas, son independientes de la resolución y son mejores para ilustraciones y diseños escalables. Formatos como SVG y AI son ejemplos de formatos de gráficos vectoriales.

Antes de poder ejecutar los fragmentos de código que se indican a continuación, deberá instalar Spire.PDF for Python mediante el siguiente comando pip.

pip install Spire.PDF

Convierta un documento PDF a archivos PNG, JPG, GIF, BMP, EMF en Python

Spire.PDF for Python proporciona el método SaveAsImage, que permite a los usuarios convertir páginas específicas de un documento PDF en una secuencia de imágenes de mapa de bits. Esta secuencia de imágenes se puede exportar como un archivo de imagen con extensión PNG, JPG, BPM, GIF o EMF.

El siguiente fragmento de código le muestra cómo convertir un documento PDF en varios archivos de imágenes de mapa de bits en Python. Una página PDF produce un archivo de imagen.

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

Convertir un documento PDF a archivos SVG en Python

Para completar la conversión de un archivo PDF a SVG, puede llamar al método SaveToFile(filename: str, startIndex: int, endIndex: int, fileFormat: FileFormat) y especificar el formato del archivo de salida como SVG. El siguiente fragmento de código Python carga un documento PDF y guarda cada página como un archivo 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()

Convierta un documento PDF en un archivo TIFF de varias páginas en Python

Spire.PDF for Python no proporciona un método sencillo para convertir PDF a TIFF. Sin embargo, puedes combinar los gráficos de mapa de bits generados por Spire.PDF en un único documento TIFF. Esto requiere una instalación adicional de Python Imaging Library (PIL), que es una biblioteca gratuita y de código abierto para manipular diferentes formatos de archivos de imágenes utilizando el lenguaje Python.

pip install Pillow

El siguiente código le muestra cómo convertir un documento PDF en un archivo TIFF de varias páginas usando Spire.PDF for Python y 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()

Conclusión

En esta publicación de blog, exploramos cómo convertir PDF a formatos de archivos de imagen populares como PNG, JPG, SVG y TIFF usando Spire.PDF for Python. Con la ayuda de esta biblioteca de PDF, puede convertir una página en particular o el documento PDF completo en imágenes de alta calidad. Por el contrario, esta biblioteca le permite convertir imagen a PDF también. Para obtener más tutoriales, consulte nuestro documentación en línea. Si tiene alguna pregunta, no dude en contactarnos a través del Foro Spire.PDF.

Ver también