En este tutorial de Python veremos cómo convertir las páginas de un PDF a imagen, convirtiendo cada página del documento a una imagen y guardándola en el almacenamiento, indicando la resolución.
No vamos a extraer cómo extraer las imágenes del PDF, vamos a convertir las páginas de un PDF a imágenes con Python. Para esto vamos a usar pypdfium, un paquete de Python que es una vinculación de PDFium.
Vas a necesitar Python y pip. Una vez que tengas a pip.exe
y python.exe
en la path, ejecuta:
python -m pip install -U pypdfium2
Para demostrar el funcionamiento de este script de Python que convierte un PDF a imagen voy a usar un PDF que se basa en mi post de recetario, pero toma en cuenta que esto va a funcionar con cualquier PDF.
Ahora veamos el script de Python. Lo que el código hace es:
pdfium.PdfDocument
El código queda como se ve a continuación:
import pypdfium2 as pdfium
from pathlib import Path
nombre_pdf = "recetario.pdf"
nombre_pdf_sin_extension = Path(nombre_pdf).stem
escala = 3 # Entre mayor escala, mejor calidad y más peso
pdf = pdfium.PdfDocument(nombre_pdf)
cantidad_paginas = len(pdf)
for indice_pagina in range(cantidad_paginas):
numero_pagina = indice_pagina+1
print(f"Extrayendo página {numero_pagina} de {cantidad_paginas}")
pagina = pdf.get_page(indice_pagina)
imagen_para_pil = pagina.render(scale=escala).to_pil()
imagen_para_pil.save(f"{nombre_pdf_sin_extension}_{numero_pagina}.png")
Al ejecutarlo, suponiendo que el PDF existe, se van a extraer las páginas como imagen. En cuanto a la escala:
Una vez que tengamos las páginas del PDF separadas con Python podemos rotarlas, modificarlas o comprimirlas y más adelante convertir esas imágenes en un PDF.
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Ayer estaba editando unos archivos que son servidos con el servidor Apache y al visitarlos…
Esta web usa cookies.