oomol-lab/pdf-craft
oomol-lab/pdf-craft has 6,493 GitHub stars and 475 forks. GitHot measured +2 stars in 24 hours. Last checked 2026-11-07 10:38 UTC. Last push 2026-11-02.
PDF craft can convert PDF files into various other formats. This project will focus on processing PDF files of scanned books.
What you can do
- Edit scanned books - PDF → Markdown, with text and image assets
- Read in an ebook reader - PDF → EPUB, with book metadata and table of contents
- Read books in another language - Translate during conversion or translate an existing EPUB; translation-only and bilingual output modes
- Create a translated PDF - Translate extracted text and write it back onto the source pages
Crecimiento de estrellas medido
- in 24h
- +2
- in 7 days
- Recopilando historial
- in 15 days
- Recopilando historial
- in 1 month
- Recopilando historial
Cambios netos en períodos que se solapan, no totales diarios. Los datos no disponibles se dejan en blanco. Las estrellas indican interés, no calidad.
docs/readmes/README-es.md
Original
English | 简体中文 | 繁體中文 | 日本語 | 한국어 | Русский | Français | Español | Deutsch | Italiano
Convertir PDF en línea · Inicio rápido con Python · Documentación
PDF Craft es una biblioteca de Python para libros escaneados, artículos académicos y documentos técnicos. Convierte PDF escaneados en Markdown fácil de editar o en EPUB cómodo de leer. También traduce el contenido de PDF y EPUB a otros idiomas, genera EPUB solo con la traducción o con texto bilingüe e inserta el texto traducido en las páginas del PDF original. Reconoce texto, capítulos, índices, notas al pie, tablas, fórmulas e imágenes para que puedas buscar, editar y leer el contenido más allá de la página escaneada.
Convierte tus archivos en línea, sin instalar nada
¿Tienes un PDF escaneado y quieres editarlo en Markdown o leerlo como EPUB? Con PDF Craft Online · pdfcraft.ai, sube el archivo desde el navegador, inicia la conversión y descarga el resultado cuando esté listo. No necesitas instalar Python, configurar CUDA, buscar un proveedor de OCR ni introducir claves API.
PDF Craft Online es el servicio en línea oficial de este proyecto de código abierto. Úsalo para convertir tus archivos directamente; si quieres integrar la conversión en tu aplicación o ejecutar OCR en tu equipo, utiliza la biblioteca de Python que se explica más abajo.
Sube tu PDF y conviértelo en línea →
Ejemplos de conversión
Markdown: para editar, buscar y procesar el contenido.

EPUB: para leer en un lector de libros electrónicos.

El resultado depende de la calidad del escaneo, la maquetación y el modelo OCR. Comprueba un documento representativo antes de procesar una colección completa.
¿Quieres ver cómo queda tu archivo? Sube un PDF y conviértelo a Markdown o EPUB →
Qué puedes hacer
| Objetivo | Función |
|---|---|
| Editar libros escaneados | PDF → Markdown, con texto y archivos de imágenes |
| Leer en un lector electrónico | PDF → EPUB, con metadatos del libro e índice |
| Leer en otro idioma | Traducción durante la conversión o de un EPUB existente; salida solo traducida o bilingüe |
| Crear un PDF traducido | Traducir el texto extraído y escribirlo en las páginas originales |
| Integrar la conversión en una aplicación | API de Python y archivos de extracción reutilizables |
Elige cómo usarlo
| Opción | Para quién | Requisitos |
|---|---|---|
| Conversión en línea | Subir un archivo y descargar Markdown o EPUB | Un navegador; sin instalar Python ni configurar servicios OCR |
| Python + OCR remoto | Desarrolladores que no ejecutan modelos localmente | Python, Poppler, URL y credenciales de un servicio compatible |
| Python + OCR local | Desarrolladores con GPU NVIDIA | Python, Poppler, CUDA, suficiente VRAM y archivos de modelos |
El OCR remoto envía las páginas al servicio configurado y no necesita CUDA local. El OCR local se ejecuta en tu equipo; si usas un LLM remoto para traducir o analizar el índice, el contenido correspondiente sí se envía a ese servicio.
Inicio rápido con Python
Este ejemplo convierte un PDF a Markdown con OCR remoto. Prepara Python 3.11–3.13, Poppler y una configuración válida de un servicio compatible con DeepSeek OCR. Consulta la guía de instalación. Las guías detalladas enlazadas desde esta página están en inglés.
¿Solo necesitas convertir un archivo, sin configurar un entorno de desarrollo ni un servicio OCR? Usa PDF Craft Online y sube tu PDF desde el navegador.
1. Instala
python -m pip install pdf-craft
2. Convierte un PDF
Coloca input.pdf en el directorio desde el que ejecutas el script. Sustituye la URL, la clave API y el nombre del modelo por los de tu servicio:
from pdf_craft import DeepSeekOCRVendorConfig, PDFCraft, PDFOptions
craft = PDFCraft(
pdf=PDFOptions(
ocr=DeepSeekOCRVendorConfig(
base_url="https://example.com/v1",
api_key="your-api-key",
model="deepseek-ocr",
),
),
)
craft.convert_pdf_to_markdown("input.pdf", "output.md")
https://example.com/v1 es una dirección de ejemplo, no un servicio operativo. Usa un servicio compatible que proporcione el modelo OCR. Consulta otros modelos en la configuración de OCR. Si todavía no tienes un servicio OCR, puedes convertir tus archivos con PDF Craft Online.
Al terminar, abre output.md. Los documentos con imágenes también generan archivos de recursos; consérvalos junto al Markdown al moverlo o compartirlo.
3. Genera un EPUB
Reutiliza la instancia craft ya configurada y sustituye la última línea por:
craft.convert_pdf_to_epub("input.pdf", "output.epub")
Abre output.epub en un lector EPUB. Para configurar título, autor y salida, consulta Conversión y traducción de PDF. Si hay problemas de instalación o ejecución, consulta Solución de problemas.
Si necesitas datos bibliográficos para el EPUB, activa la extracción de metadatos mediante OCR de las primeras páginas y configura un LLM independiente para esa tarea. PDF Craft solo acepta valores que pueda verificar en el texto reconocido. Las propiedades del archivo PDF completan los campos que falten, pero nunca sustituyen la información impresa en el libro.
Traducción y reutilización de la extracción
Traduce libros. Puedes proporcionar un XMLTranslator al convertir PDF a Markdown o EPUB, o traducir directamente un EPUB existente. La traducción usa un LLM de texto independiente; OCR y traducción se configuran por separado. En EPUB puedes sustituir el original o añadir la traducción para una lectura bilingüe.
Crea un PDF traducido. Extrae y traduce el contenido, y escribe el texto traducido en las páginas originales. También necesitas fuentes locales adecuadas. Revisa la maquetación según el original y la traducción.
Extrae una vez y reutiliza después. Guarda un archivo .pcex para generar otros documentos, traducir o procesar en otro equipo. Reutiliza la instancia craft configurada:
craft.convert_pdf_to_markdown(
"input.pdf",
"output.md",
extraction_path="book.pcex",
)
Consulta Conversión y traducción de PDF, Traducción de EPUB y el formato .pcex.
OCR y requisitos de ejecución
PDF Craft admite DeepSeek OCR, DeepSeek OCR 2 y Unlimited OCR, cada uno con configuración local y remota. La instalación estándar permite usar OCR remoto. Para OCR local, instala las dependencias adicionales:
python -m pip install "pdf-craft[local]"
También necesitas una versión compatible de PyTorch con CUDA, suficiente VRAM y los archivos de modelos. Por defecto se descargan de Hugging Face; puedes descargarlos de antemano y cargarlos localmente. Los ajustes predefinidos y requisitos varían: consulta la configuración de OCR.
Los idiomas disponibles dependen de la etapa. Los idiomas del README indican los de la documentación. El reconocimiento depende del modelo OCR, y la traducción depende del traductor y del LLM de texto. El parámetro EPUB label_language solo selecciona las etiquetas fijas (zh / en); el inglés es el valor predeterminado y de reserva, sin limitar el idioma del contenido ni de traducción. Consulta la referencia de la API.
Documentación
Las siguientes guías detalladas están en inglés.
| Necesidad | Guía |
|---|---|
| Dependencias del sistema y GPU local | Instalación |
| Modelos, servicios remotos y caché | Configuración de OCR |
| Conversión PDF, creación EPUB y PDF traducido | Conversión y traducción de PDF |
| EPUB existentes y salida bilingüe | Traducción de EPUB |
| Parámetros, tipos y métodos | Referencia de la API |
| Guardar e intercambiar extracciones | Formato .pcex |
| Problemas de instalación y conversión | Solución de problemas |
Comentarios y contribuciones
Comunica problemas o sugerencias en Issues. Para problemas de conversión, incluye la versión del paquete, el tipo de configuración OCR, los registros de error y un archivo mínimo que puedas compartir públicamente. Elimina las credenciales y el contenido privado.
Son bienvenidas las Pull Requests que mejoren el código, la documentación y las traducciones. Usa el README en chino simplificado como referencia de contenido. Adapta el texto a los lectores de cada idioma, destacando la conversión en línea y la traducción, y mantén la precisión de los ejemplos de la API. Si PDF Craft te resulta útil, dale una Star para que otras personas lo descubran.
Proyectos relacionados
Wiki Graph transforma libros EPUB o Markdown en resúmenes estructurados, topologías de capítulos y grafos de conocimiento.
Licencia y agradecimientos
PDF Craft utiliza la licencia MIT. Las dependencias de terceros y los modelos OCR seleccionados conservan sus propias licencias.
Gracias a DeepSeek OCR, DeepSeek OCR 2, Unlimited OCR, doc-page-extractor, pyahocorasick y a los demás proyectos de código abierto.
Colaboradores
Gracias a todas las personas que han contribuido a PDF Craft. Son bienvenidas las mejoras del código, la documentación y las traducciones.
Star History
Explorar proyectos relacionados
codecrafters-io/build-your-own-x
Domina la programación recreando desde cero tus tecnologías favoritas.
560,583 estrellaspublic-apis/public-apis
Una lista colectiva de API gratuitas
496,856 estrellasmorluto/rea
Ingeniería inversa de cualquier cosa con agentes, desde el comportamiento de la aplicación hasta los binarios nativos.
439,363 estrellasopenclaw/openclaw
La IA que de verdad hace las cosas. Cualquier sistema operativo y cualquier plataforma. Al estilo langosta. 🦞
394,101 estrellas