Un flujo local con PyMuPDF para automatizar conversiones y una alternativa en el navegador.
Elegir un flujo local
Un script resulta útil para tareas repetidas. Para una conversión ocasional, la herramienta web evita instalar paquetes Python. Ambos métodos pueden procesar documentos en tu equipo. Este ejemplo se ejecuta localmente; no es una API alojada.
Instalar la dependencia
Crea y activa un entorno virtual de Python y ejecuta python -m pip install pymupdf. Guarda el código como pdf_to_png.py y coloca document.pdf a su lado. Utiliza PyMuPDF directamente, sin pdf2image. Consulta la instalación oficial si no hay un paquete compatible con tu sistema.
from pathlib import Path
import pymupdf
source = Path("document.pdf")
output = Path("output")
with pymupdf.open(source) as document:
if document.needs_pass:
raise ValueError("Unlock the PDF before converting it.")
output.mkdir(exist_ok=False)
for number, page in enumerate(document, start=1):
image = page.get_pixmap(dpi=144, alpha=False)
image.save(output / f"page-{number:03d}.png")
Generar las imágenes
Ejecuta python pdf_to_png.py desde esa carpeta. El script crea output, renderiza cada página a 144 ppp y guarda archivos PNG numerados. Cambia el archivo de entrada y la carpeta de salida para evitar sobrescribir resultados. Prueba primero con un documento corto.
Controlar los recursos
Una resolución mayor requiere más memoria. Procesa página a página y conserva el PDF porque las imágenes pierden texto seleccionable y funciones interactivas. El ejemplo rechaza documentos cifrados. Revisa la licencia de PyMuPDF antes de incorporarlo a software distribuido o servicios alojados.
Preguntas frecuentes
¿Puedo elegir páginas concretas?
Sí. Introduce, por ejemplo, 1, 3-5. Se exportan hasta 100 páginas por operación, con un enlace por imagen.
¿Es gratis en el móvil?
Sí. Sin cuenta ni pago. Usa un navegador reciente; la capacidad depende de la memoria del dispositivo.
¿Se suben o se rastrean mis archivos?
No. Los documentos se procesan en la memoria de tu navegador. Sin envío de documentos, publicidad, cookies de seguimiento ni analítica de visitantes. El servidor recibe las peticiones necesarias para servir el sitio.