PDF-Craft : convertit les PDF de livres numérisés en Markdown/EPUB 125

小编 ·

PDF-Craft : convertit les PDF de livres numérisés en Markdown/EPUB

PDF-Craft est un projet open source de traitement de PDF, axé sur la conversion de PDF de livres numérisés en Markdown ou EPUB. Il utilise l'OCR pour reconnaître le texte et des algorithmes d'IA pour extraire le contenu, filtrer en-têtes et pieds de page et produire un résultat structuré. Il prend en charge le calcul local et des fonctions assistées par LLM, adapté aux articles académiques, brochures et longs livres.

PDF-Craft : convertit les PDF de livres numérisés en Markdown/EPUB

Qu'est-ce que PDF-Craft ?

PDF-Craft est un projet open source destiné au traitement de fichiers PDF, spécialisé dans la conversion de PDF de livres numérisés aux formats Markdown ou EPUB. Il utilise la technologie OCR pour reconnaître le texte et s'appuie sur des algorithmes d'ia pour extraire le texte, filtrer les en-têtes, pieds de page et autres éléments, afin de générer du contenu structuré. Il prend en charge le calcul local ainsi que les fonctionnalités assistées par LLM, et convient à la conversion de format pour les articles académiques, les brochures et les longs ouvrages.

PDF-Craft:un outil de conversion de fichiers PDF de livres numérisés en Markdown/EPUB.jpg

Fonctionnalités de PDF-Craft

Conversion de format :

  • Prend en charge la conversion de PDF en format Markdown, adapté aux articles ou aux petits livres.

  • Pour les documents de plus de 100 pages, il combine l'OCR local et le traitement LLM dans le cloud pour générer un EPUB avec table des matières et chapitres.

Extraction intelligente :

  • Utilise DocLayout-YOLO et des algorithmes personnalisés pour extraire le corps du texte, en filtrant les en-têtes, pieds de page, notes de bas de page, numéros de page et autres éléments.

  • Lors du passage entre les pages, l'algorithme gère la transition du contexte.

Reconnaissance OCR :

  • Utilise OnnxOCR pour la reconnaissance du texte, prend en charge les captures d'écran d'illustrations, tableaux et formules, et les insère directement dans le fichier de sortie.

Optimisation de l'ordre de lecture :

  • Détermine l'ordre de lecture conforme aux habitudes humaines via layoutreader.

Assistance LLM :

  • Lors de la conversion EPUB, un LLM (tel que DeepSeek) lit les annotations et les informations de citation et les restitue dans l'EPUB.

  • Le LLM peut également corriger dans une certaine mesure les erreurs d'OCR.

Exécution locale :

  • Prend en charge l'accélération CPU et GPU, et permet d'effectuer la plupart des opérations sans connexion internet.

Cas d'usage de PDF-Craft

  • Recherche académique : convertir des articles académiques numérisés en formats Markdown ou EPUB pour faciliter l'édition et la lecture.

  • Création de livres électroniques : convertir des livres numérisés en format EPUB pour générer des livres électroniques avec table des matières et chapitres.

  • Traitement de documents : extraire le texte et les images d'un PDF pour une édition ou un archivage ultérieur.

PDF-Craft:un outil de conversion de fichiers PDF de livres numérisés en Markdown/EPUB.webp

Comment utiliser PDF-Craft

1. Installation :Nécessite Python 3.10 ou version supérieure, prend en charge l'accélération CUDA.

2. Conversion PDF vers Markdown :

from pdf_craft import PDFPageExtractor, MarkDownWriter
extractor = PDFPageExtractor(device="cpu", model_dir_path="/path/to/model")
with MarkDownWriter(markdown_path, "images", "utf-8") as md:
    for block in extractor.extract(pdf="/path/to/pdf"):
        md.write(block)

3. Conversion PDF vers EPUB :

from pdf_craft import PDFPageExtractor, LLM, analyse, generate_epub_file
extractor = PDFPageExtractor(device="cpu", model_dir_path="/path/to/model")
llm = LLM(key="sk-XXXXX", url="https://api.deepseek.com", model="deepseek-chat")
analyse(llm=llm, pdf_page_extractor=extractor, pdf_path="/path/to/pdf", analysing_dir_path="/path/to/analysing", output_dir_path="/path/to/output")
generate_epub_file(from_dir_path="/path/to/output", epub_file_path="/path/to/output.epub")

Projet GitHub :https://github.com/oomol-lab/pdf-craft