Convertir PDF a imagen usando Python

Hay muchas herramientas disponibles en Internet para convertir un PDF en una imagen. En este artículo, vamos a escribir código para convertir pdf a imagen y crear una aplicación práctica en python. Antes de escribir el código necesitamos instalar el módulo requerido pdf2image y poppler.

Módulos necesarios

  • pdf2image 1.14.0: este módulo convierte un PDF en un objeto PIL. Para instalar este módulo, escriba el siguiente comando en la terminal.
pip install pdf2image
  • poppler: Este módulo permite leer, renderizar o modificar documentos PDF. Los usuarios de Windows tendrán que compilar o descargar poppler para Windows. haga clic aquí para descargar

 Luego tendrá que agregar la carpeta bin/ a PATH o usar

 poppler_path = r”C:\path\to\poppler-xx\bin” como argumento en convert_from_path.

Acercarse:

  • Importar el módulo pdf2image
  • Almacenar un PFD con convert_from_path()
  • Guardar imagen con save()

A continuación se muestra la implementación.

Archivo PDF utilizado:

Python

# import module
from pdf2image import convert_from_path
 
 
# Store Pdf with convert_from_path function
images = convert_from_path('example.pdf')
 
for i in range(len(images)):
   
      # Save pages as images in the pdf
    images[i].save('page'+ str(i) +'.jpg', 'JPEG')

Producción:

Escribamos el código para la aplicación usando Tkinter: este script implementa la implementación anterior en una GUI.

A continuación se muestra la implementación.

Python3

from pdf2image import convert_from_path
from tkinter import *
from tkinter import messagebox
 
 
def pdf2img():
    try:
        images = convert_from_path(str(e1.get()))
        for img in images:
            img.save('new_folder\output.jpg', 'JPEG')
 
    except  :
        Result = "NO pdf found"
        messagebox.showinfo("Result", Result)
 
    else:
        Result = "success"
        messagebox.showinfo("Result", Result)
 
 
 
master = Tk()
Label(master, text="File Location").grid(row=0, sticky=W)
 
e1 = Entry(master)
e1.grid(row=0, column=1)
 
b = Button(master, text="Convert", command=pdf2img)
b.grid(row=0, column=2,columnspan=2, rowspan=2,padx=5, pady=5)
  
mainloop()

Producción:

Si no hay un archivo PDF en su ubicación determinada.

Publicación traducida automáticamente

Artículo escrito por kumar_satyam y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *