Código de Python - Programa para extraer las imágenes de un PDF.

Imágen de perfil
Val: 525
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Programa para extraer las imágenes de un PDF.gráfica de visualizaciones


Python

Publicado el 29 de Enero del 2021 por Antonio (46 códigos)
908 visualizaciones desde el 29 de Enero del 2021
Este programa extrae todas las imágenes de un documento PDF y las guarda en una carpeta comprimida (.zip) que tendrá el nombre del PDF original. Para ello el usuario introducirá el directorio en el que se ubica el PDF (y donde se generará la carpeta comprimida) y el nombre del PDF.
PARA CUALQUIER DUDA U OBSERVACIÓN, USEN LA SECCIÓN DE COMENTARIOS.

dfe

Requerimientos

Lenguaje: Python
Librerías y recursos: PyMuPDF, io, os, PIL, zipfile.

1.0

Publicado el 29 de Enero del 2021gráfica de visualizaciones de la versión: 1.0
909 visualizaciones desde el 29 de Enero del 2021
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import fitz
import io
import os
from PIL import Image
import zipfile
 
def ns(c):
    while c!=("s") and c!=("n"):
        print(chr(7));c=input("Escribe solo \'n\' o \'s\' según su opción: ")
    return(c)
 
def check_dir():
    while True:
        direc = input("Introducir directorio: ")
        if os.path.isdir(direc):
            break
        else:
            print("DIRECTORIO NO VÁLIDO.")
    return direc
 
def check_file():
    while True:
        filen = input("Introduce archivo PDF: ")
        if filen in os.listdir() and filen.endswith(".pdf"):
            break
        else:
            print("ARCHIVO NO VÁLIDO.")
    return filen
 
while True:
    print("------------------PDF IMAGE EXTRACTOR------------------\n")
    dire = check_dir()
    os.chdir(dire)
    file = check_file()
    images = []
 
    pdf_file = fitz.open(file)
    print('{} Páginas'.format(len(pdf_file)))
    for page_index in range(len(pdf_file)):
        page = pdf_file[page_index]
        image_list = page.getImageList()
        print('{} imágenes encontradas en la página {}'.format(len(image_list),page_index))
 
        for image_index, img in enumerate(page.getImageList(), start=1):
            xref = img[0]
            base_image = pdf_file.extractImage(xref)
            image_bytes = base_image["image"]
            image_ext = base_image["ext"]
            image = Image.open(io.BytesIO(image_bytes))
            image_name = (f"image{page_index+1}_{image_index}.{image_ext}")
            image.save(open(image_name,"wb"))
            images.append(image_name)
    folder_name, ex = os.path.splitext(file)
 
    with zipfile.ZipFile(folder_name+".zip","w") as zfile:
        for i in images:
            zfile.write(i)
            os.remove(i)
    zfile.close()
    print("\nCreado archivo \'{}\'.".format(folder_name+".zip"))
 
    conti = ns(input("¿Continuar(n/s)?: "))
    if conti == "n":
        break



Comentarios sobre la versión: 1.0 (0)


No hay comentarios
 

Comentar la versión: 1.0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s6852