CommunityImagegithub.com

MuhtajinMukhtar/scan-book-to-digital-pdf

Numérisez un PDF de livre scanné en un PDF numérique lisible, consultable et avec du texte sélectionnable, incluant images et typographie sensible à la source. Utilisez-le pour l'OCR, le recomposition typographique ou la restauration de livres imprimés à partir de scans, en particulier avec Apple Vision sur Mac et les vérifications croisées PaddleOCR PP-StructureV3. Guidez les utilisateurs non techniques à travers des choix simples de police, taille et paragraphe tout en gérant l'OCR, l'assurance qualité et les mises en page difficiles.

Qu'est-ce que scan-book-to-digital-pdf ?

Cette compétence permet à un agent IA de transformer un PDF de livre scanné (image) en un PDF numérique propre, avec texte sélectionnable, recherche plein texte, polices ressemblant à la source et conservation des images (photos, diagrammes, tableaux). Elle s'appuie sur un pipeline double-OCR obligatoire sur Mac : Apple Vision (reconnaissance native rapide) et PaddleOCR PP-StructureV3 (analyse de structure et OCR chinois/anglais), en exécutant des vérifications croisées ligne par ligne sur chaque page mise en cache. L'agent classe chaque page (texte simple, titre, tableaux, etc.) et compose une mise en page numérique fidèle avec la police, la taille et l'indentation choisies par l'utilisateur, tout en marquant les pages dangereuses comme "scan consultable" avec calque OCR. Le résultat inclut un rapport de comparaison, un journal des incertitudes et une vérification automatisée (couverture, polices, images). L'utilisateur n'a besoin que de fournir un PDF et de répondre à quelques questions simples en langage courant ; l'agent gère toute la complexité technique.

Compatible avec~Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/MuhtajinMukhtar/scan-book-to-digital-pdf/tree/HEAD

Installed? Explore more Image skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Scan Book to Digital PDF

La conversation doit être simple

L'utilisateur peut seulement dire : "Tolong jadikan PDF buku ini buku digital yang nyaman dibaca, mengikuti https://github.com/MuhtajinMukhtar/scan-book-to-digital-pdf." Il peut fournir un PDF en pièce jointe. N'exigez pas qu'il connaisse des mots tels que OCR, PP-StructureV3, SHA-256 ou ligne de commande.

  • Si aucun PDF n'est joint, demandez le PDF.
  • Par défaut, utilisez une mise en page fidèle, une police ressemblant à la source et des débuts de paragraphe similaires. Si nécessaire, posez une question amicale à la fois, formulée en termes courants : "Tu veux une police comme le livre original ou un style moderne ?", "Taille du texte comme l'original ou plus grand ?", "Début de paragraphe en retrait ou aligné à gauche ?". Proposez "laisse comme l'original". Ne posez pas toutes les questions si les valeurs par défaut suffisent.
  • Signalez la progression en langage simple : pages vérifiées, pages incertaines, PDF de révision. Gardez les journaux techniques dans les fichiers de travail, pas dans le chat de l'utilisateur.
  • Ne forcez pas l'utilisateur à choisir manuellement le moteur OCR. Sur un Mac compatible, utilisez les deux moteurs ci-dessous.

Protection de la source et préférences

Enregistrez le nombre de pages, le SHA-256 d'origine, les métadonnées du fichier et la destination de sortie. Ne jamais écraser l'original ou une version approuvée antérieure. Par défaut, utilisez une correspondance exacte page source-page sauf si l'utilisateur demande explicitement une repagination. Respectez les préférences explicites : police avec empattement (Georgia si installée et sous licence, sinon une police avec empattement libre) ou sans empattement ; taille de police estimée par la source ou spécifiée ; retrait de première ligne comme la source / oui / non. Préservez les titres, italiques, photos, diagrammes, tableaux, logos, citations, formulaires, pieds de page et l'ordre de lecture. Ne redistribuez jamais des scans protégés par le droit d'auteur ou des fichiers de police.

Pipeline double-OCR prioritaire sur Mac (obligatoire pour l'exécution complète)

  1. Mettez en place un environnement Python isolé sur Mac en utilisant references/mac-setup.md. Vérifiez une installation réelle d'Apple Vision et de PaddleOCR PP-StructureV3 avant le traitement. N'utilisez pas de systèmes de production ni de modifications globales de paquets.
  2. Exécutez python scripts/mac_hybrid_ocr.py BOOK.pdf --work-dir ./work. Cela lance scripts/ocr_book.py avec Apple Vision, puis PP-StructureV3 sur les mêmes images de page mises en cache, sauvegarde le JSON Paddle brut et le Markdown, et génère des rapports de comparaison par page dans work/fusion/.
  3. Lisez le brut overall_ocr_res.rec_texts du JSON Paddle, pas seulement son rendu Markdown. Le prototype réussi a récupéré sept lignes omises par le Markdown Paddle sur un pilote de cinq pages ; ne supposez jamais que le Markdown est complet. Vérifiez paddle_raw_not_in_markdown, paddle_not_in_apple, apple_not_in_paddle, et les avertissements de variations d'orthographe/mots. Ce sont tous des candidats à la révision, pas des corrections approuvées automatiquement.
  4. Confirmez le texte manquant et les noms contestés en regardant l'image de page originale avant d'appliquer une correction. Comparez les deux moteurs ligne par ligne ; aucun moteur n'est autoritaire par lui-même. Conservez l'incertitude dans un journal des problèmes par page. N'inventez pas de texte basé uniquement sur le contexte.
  5. Classez chaque page et composez numériquement le texte mis en page à partir de l'ordre de lecture vérifié, avec la taille, la police, l'indentation de paragraphe et le corps justifié choisis. Utilisez les photographies/illustrations originales recadrées. Voir references/page-archetypes.md. Pour une page qui ne peut pas être reconstruite de manière sécurisée, conservez l'image source avec un calque OCR sélectionnable et marquez explicitement cette page comme un repli en scan consultable.
  6. Écrivez une entrée de manifeste pour chaque page originale : page source/sortie, type, moteurs OCR, corrections acceptées, vérifications d'image, statut numérique ou scan consultable, exceptions et statut de révision visuelle.
  7. Utilisez scripts/pdf_audit.py pour vérifier la couverture des mots source, le mappage des pages, les polices intégrées, l'absence de pages/images vierges ou coupées, et la comparaison visuelle source/sortie. Lisez references/qa-and-handoff.md. Ne supprimez pas les échecs pour signaler un succès.
  8. Fournissez un PDF de révision et un résumé concis des pages en suspens. Ne marquez comme final qu'après que l'utilisateur a accepté le résultat éditorial. Exécutez scripts/lossless_optimize.py uniquement sur une copie et vérifiez la parité du rendu et du texte.

Limites opérationnelles

  • Ce n'est pas un recomposeur universel en un clic : l'agent IA doit effectuer une reconstruction éditoriale des pages complexes. mac_hybrid_ocr.py prépare les comparaisons sources ; il ne génère pas le livre final tout seul.
  • Si Paddle ne peut pas s'exécuter sur le Mac, ne continuez pas silencieusement avec Apple uniquement en prétendant que la sortie a passé le double-OCR ; signalez le problème d'installation et proposez à l'utilisateur une prochaine étape sécurisée.
  • Si l'environnement actuel (ChatGPT Work ou Codex) ne peut pas exécuter de logiciel Mac, dites-le brièvement. Obtenez un environnement d'exécution Mac autorisé au lieu de fabriquer des résultats OCR.
  • Préservez l'identité du cache/source. Ne remplacez jamais automatiquement des résultats OCR existants provenant d'une autre source. Ne publiez pas de fichiers privés dans le dépôt.
  • Utilisez --compare-only pour réévaluer les caches existants sans relancer l'OCR.

Skills associés