Analyse automatique du contenu des PDF et extraction du texte et des tableaux des services open source

Introduction générale

Il analyse automatiquement la mise en page des documents PDF, identifie le texte, les titres, les images, les tableaux, les formules et les autres éléments de la page, et détermine leur ordre correct. L'outil prend en charge la fonctionnalité OCR, vous pouvez numériser des PDF en texte consultable. Il fonctionne sur Docker et propose deux modèles : le modèle visuel (Vision Grid Transformer, ou VGT) et le modèle LightGBM. Le premier est très précis mais consomme beaucoup de ressources, le second est rapide et économe en ressources. La version actuelle est v0.0.21, gratuite et ouverte sur GitHub, adaptée aux chercheurs qui ont besoin de traiter des PDF, aux archivistes, etc.

自动解析PDF内容并提取文字与表格的开源服务

 

Liste des fonctions

  • Identifie automatiquement le texte, les titres, les images, les tableaux, les formules et autres éléments dans les pages PDF.
  • Prise en charge de la fonction OCR pour convertir les PDF numérisés en texte consultable.
  • Déterminer l'ordre de lecture correct des éléments de la page.
  • Deux modes d'analyse sont proposés : le modèle visuel (VGT) et le modèle LightGBM.
  • Extraction de tableaux et prise en charge de plusieurs formats de sortie, tels que Markdown, LaTeX, HTML.
  • Extrait les formules et produit le format LaTeX par défaut.
  • Prise en charge de l'OCR multilingue, comme l'anglais, le coréen, etc.
  • Fournit une interface API pour l'intégration dans d'autres projets.
  • Prise en charge de la sortie visuelle, générant des PDF avec des annotations.

 

Utiliser l'aide

Processus d'installation

Cet outil fonctionne avec Docker et les étapes d'installation sont les suivantes :

  1. Préparation de l'environnement
    Installez d'abord Docker. Allez sur le site web de Docker pour le télécharger et l'installer. Après l'installation, tapez dans le terminal
docker --version

Si le numéro de version s'affiche, l'installation est réussie. Si vous utilisez un GPU, vous devez également installer le NVIDIA Container Toolkit.Guide d'installation.

  1. Tirer les miroirs
    Entrez la commande dans le terminal pour extraire l'image de l'outil :
  • Il y a le GPU :
    docker pull huridocs/pdf-document-layout-analysis:v0.0.21
    
  • Pas de GPU :
    docker pull huridocs/pdf-document-layout-analysis:v0.0.21
    
  1. Services opérationnels
    Le service peut être lancé de deux manières :
  • Il y a le GPU :
    docker run --rm --name pdf-analysis --gpus '"device=0"' -p 5060:5060 huridocs/pdf-document-layout-analysis:v0.0.21
    
  • Pas de GPU :
    docker run --rm --name pdf-analysis -p 5060:5060 huridocs/pdf-document-layout-analysis:v0.0.21
    

Lorsque le service démarre, il écoute sur le port 5060 par défaut. Si le port est occupé, il peut être remplacé par un autre port, tel que 5061.

  1. service de validation
    Ouvrez votre navigateur et visitezhttp://localhost:5060/infoSi les informations relatives à la version sont renvoyées, cela signifie que le système fonctionne normalement.

Comment utiliser les principales fonctionnalités

L'outil fonctionne par l'intermédiaire d'une API avec les fonctions communes suivantes :

1. fonction OCR

Pour convertir un PDF numérisé en texte consultable, vous pouvez utiliser l'OCR.

  • procédure: :
    Préparer un PDF tel quetest.pdf, exécuté dans le terminal :
curl -X POST -F 'language=en' -F 'file=@/path/to/test.pdf' localhost:5060/ocr --output result.pdf
  • language=enest en anglais et peut être remplacé parkor(coréen), etc. Les langues prises en charge sont disponibles par le biais de l'optioncurl localhost:5060/infoVue.
  • /path/to/test.pdfest le chemin d'accès au fichier, par exemple/home/user/test.pdf.
  • fichier de sortieresult.pdfsera enregistré dans le répertoire actuel.
  • en fin de compte: :
    Obtenez un PDF consultable avec du texte pouvant être copié.

2. l'analyse de la mise en page

Extraire des éléments du PDF et analyser la mise en page :

  • procédure: :
    La course à pied :
curl -X POST -F 'file=@/path/to/test.pdf' localhost:5060 --output analysis.json
  • fichier de sortieanalysis.jsonContient des informations sur l'élément telles que l'emplacement, le type (texte, tableau, etc.).
  • en fin de compte: :
    Le fichier JSON énumère les détails de chaque élément.

3. mode rapide

Si vous souhaitez un traitement plus rapide, utilisez le modèle LightGBM, ajoutez le paramètrefast=true: :

curl -X POST -F 'file=@/path/to/test.pdf' -F 'fast=true' localhost:5060 --output fast_analysis.json
  • prendre note: Rapide, mais un peu moins précis.

4. extraction de tableaux et de formules

  • Formulaire de retrait: :
    Spécifiez le format (par exemple Markdown) :
curl -X POST -F 'file=@/path/to/test.pdf' -F 'extraction_format=markdown' localhost:5060 --output table.json

adjuvantmarkdown,latex,htmlFormat.

  • Formule d'extraction: :
    La sortie par défaut est au format LaTeX, qui peut être utilisé directement avec la commande Analyse de la mise en page.

5. sortie visuelle

J'aimerais voir le PDF annoté :

curl -X POST -F 'file=@/path/to/test.pdf' localhost:5060/visualize --output visualized.pdf
  • en fin de compte: :
    Le PDF de sortie sera étiqueté avec l'emplacement et le type de chaque élément.

6. ajouter un support linguistique

Peu de langues sont prises en charge par défaut, vous souhaitez en ajouter d'autres (par exemple le chinois) :

  • Entrez dans le conteneur :
docker exec -it --user root pdf-analysis /bin/bash
  • Installer les packs de langues, par exemple le chinois :
apt-get install tesseract-ocr-chi-sim
  • Vérifier :
curl localhost:5060/info

voir quechi_simIndique un succès.

7. l'interruption des services

Interruption des services :

docker stop pdf-analysis

Ordre des éléments de sortie

Les résultats des analyses sont présentés dans un ordre précis. L'outil utilise Poppler pour déterminer l'ordre de lecture initial, qui est ensuite ajusté en fonction du type d'élément :

  • L'en-tête se trouve en haut de la page et est trié par ordre interne.
  • Les éléments communs (texte, tableaux, etc.) sont disposés dans un ordre de lecture moyen.
  • Le pied de page et la note de bas de page sont placés en dernier.
  • Les éléments sans texte (par exemple, les images) sont classés en fonction de l'ordre de l'élément avec texte le plus proche.

mise en garde

  • exigences en matière de matérielLe modèle visuel nécessite un GPU et 5GB de mémoire vidéo, il sera lent avec un CPU sans GPU. lightGBM est uniquement un CPU et nécessite 2GB de RAM.
  • tempo: 15 pages d'articles académiques, 0,42 sec/page en mode rapide, 1,75 sec/page en VGT (GPU), 13,5 sec/page en VGT (CPU).
  • ajuster les composants pendant les essaisLes données sont enregistrées dans le journal lorsque quelque chose ne va pas :
docker logs pdf-analysis

Ces fonctions et étapes vous aideront à démarrer rapidement et à répondre à de nombreux besoins en matière de PDF.

 

scénario d'application

  1. recherche universitaire
    Les chercheurs l'utilisent pour extraire des tableaux et des formules des documents et organiser les données plus efficacement.
  2. gestion des fichiers
    Les archivistes convertissent les scans de documents anciens en PDF consultables et faciles à trouver.
  3. Travail juridique
    Les avocats analysent les contrats en format PDF pour repérer rapidement les clauses et les formulaires.

 

QA

  1. Y a-t-il des frais ?
    Gratuit. Il s'agit d'un outil open source, téléchargeable et utilisable gratuitement sur GitHub.
  2. Dois-je travailler en réseau ?
    Une connexion Internet est nécessaire pour télécharger l'image, après quoi elle peut être exécutée hors ligne.
  3. Prend-il en charge le chinois ?
    Prise en charge. L'installation manuelle des paquets chinois est nécessaire (par exempletesseract-ocr-chi-sim), un peu moins efficace que l'anglais mais utilisable.
© déclaration de droits d'auteur

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...