Escanear Libro a PDF Digital
La conversación debe ser sencilla
El usuario puede decir solo: "Tolong jadikan PDF buku ini buku digital yang nyaman dibaca, mengikuti https://github.com/MuhtajinMukhtar/scan-book-to-digital-pdf." Puede adjuntar un PDF. No es necesario que conozca términos como OCR, PP-StructureV3, SHA-256 o línea de comandos.
- Si no se adjunta ningún PDF, solicita el PDF.
- Por defecto, se usará una maquetación fiel al original, con una fuente similar a la del libro y sangría de párrafo según el original. Si es necesario, haz una pregunta amigable cada vez, en términos cotidianos: "¿Quieres una letra como la del libro original o un estilo moderno?", "¿Tamaño de letra igual que el original o más grande?", "¿Párrafos con sangría o alineados a la izquierda?". Ofrece "déjalo como el original". No hagas todas las preguntas si los valores por defecto son suficientes.
- Informa del progreso en lenguaje sencillo: páginas revisadas, páginas inciertas, PDF de revisión. Mantén los registros técnicos dentro de los archivos de trabajo, no en el chat del usuario.
- No obligues al usuario a elegir el motor de OCR manualmente. En una Mac compatible, usa ambos motores según se indica a continuación.
Protección del original y preferencias
Registra el número de páginas, el SHA-256 original, los metadatos del archivo y el destino de salida. Nunca sobrescribas el original ni una versión anterior aprobada. Por defecto, mantén la correspondencia exacta con las páginas originales, a menos que el usuario solicite expresamente una repaginación. Respeta las preferencias explícitas: tipo de letra serif (Georgia si está instalada y tiene licencia, o una serif abierta) o sans-serif; tamaño de letra estimado del original o especificado; sangría de primera línea según el original / sí / no. Conserva los encabezados, cursivas, fotos, diagramas, tablas, logotipos, citas, formularios, notas al pie y el orden de lectura del original. Nunca redistribuyas escaneos con derechos de autor ni archivos de fuentes.
Pipeline dual de OCR para Mac (obligatorio para la ejecución completa)
- Configura un entorno Python aislado en Mac usando
references/mac-setup.md. Verifica que Apple Vision y PaddleOCR PP-StructureV3 estén realmente instalados antes de procesar. No uses sistemas de producción ni cambios globales de paquetes. - Ejecuta
python scripts/mac_hybrid_ocr.py BOOK.pdf --work-dir ./work. Esto ejecutascripts/ocr_book.pyprimero con Apple Vision, luego con PP-StructureV3 en las mismas imágenes de página en caché, guarda el JSON y Markdown sin procesar de Paddle, y genera informes de comparación por página enwork/fusion/. - Lee los datos sin procesar
overall_ocr_res.rec_textsdel JSON de Paddle, no solo su representación en Markdown. El prototipo exitoso recuperó siete líneas omitidas por el Markdown de Paddle en un piloto de cinco páginas; nunca asumas que el Markdown está completo. Revisapaddle_raw_not_in_markdown,paddle_not_in_apple,apple_not_in_paddley las advertencias de variaciones ortográficas/de redacción. Todos son candidatos a revisión, no correcciones automáticamente aceptadas. - Confirma el texto faltante y los nombres en disputa comparándolos con la imagen de página original antes de aplicar una corrección. Compara ambos motores línea por línea; ningún motor es autoritativo por sí mismo. Mantén la incertidumbre en un registro de incidencias por página. No inventes texto basándote solo en el contexto.
- Clasifica cada página y compón el texto digitalmente tipografiado a partir del orden de lectura verificado, con el tamaño, tipo de letra, sangría de párrafo y justificación elegidos. Utiliza las fotografías/ilustraciones originales recortadas. Consulta
references/page-archetypes.md. Para una página que no se pueda reconstruir de forma segura, conserva la imagen original con una capa OCR seleccionable y marca explícitamente esa página como una alternativa de escaneo buscable. - Escribe una entrada de manifiesto para cada página original: página fuente/salida, tipo, motores de OCR, correcciones aceptadas, comprobaciones de imagen, estado digital o de escaneo buscable, excepciones y estado de revisión visual.
- Usa
scripts/pdf_audit.pypara verificar la cobertura de palabras fuente, el mapeo de páginas, las fuentes incrustadas, la ausencia de páginas en blanco/recortadas e imágenes, y la comparación visual fuente/salida. Consultareferences/qa-and-handoff.md. No ocultes fallos para aparentar éxito. - Entrega un PDF de revisión y un resumen conciso de las páginas pendientes. Marca como final solo después de que el usuario acepte el resultado editorial. Ejecuta
scripts/lossless_optimize.pysolo sobre una copia y verifica la paridad de renderizado y texto.
Límites operativos
- Esto no es un recomponedor universal de un solo clic: el agente de IA debe realizar la reconstrucción editorial de páginas complejas.
mac_hybrid_ocr.pyprepara las comparaciones de fuentes; no genera el libro final por sí mismo. - Si Paddle no puede ejecutarse en la Mac, no continúes en silencio solo con Apple pretendiendo que la salida pasó por el OCR dual; informa del problema de instalación y ofrece al usuario un paso seguro a seguir.
- Si el entorno actual de ChatGPT Work o Codex no puede ejecutar software de Mac, indícalo brevemente. Obtén un entorno de ejecución Mac permitido en lugar de inventar resultados de OCR.
- Conserva la identidad de la caché/fuente. Nunca sobrescribas automáticamente resultados de OCR existentes de otra fuente. No publiques archivos privados en el repositorio.
- Utiliza
--compare-onlypara reevaluar cachés existentes sin volver a ejecutar el OCR.