Extracteur de table PDF

L'extracteur de table PDF a été créé comme un nouvel outil pour répondre à ce besoin.

Désignation

La bibliothèque permet l'extraction de structures de table à partir d'une gamme de pages dans un PDF.

Il fournit une liste d'éléments, qui peuvent inclure des lignes de texte ou des tableaux.

Les tables sont structurées en deux dimensions, composées de cellules individuelles accessibles pour récupérer leur contenu.

Description du code

Avec la version 3.0 de la bibliothèque, une stratégie plus appropriée est suivie pour déterminer les zones des cellules du tableau.

Un type de détection de bord est appliqué, mais plus adapté aux lignes parfaitement horizontales et verticales.

Après obtention des bords du tableau, un traitement supplémentaire est effectué, et les emplacements de chaque cellule sont obtenus, suivi du texte contenu dans chacune de ces cellules.

Cela semble être la version finale, en attendant la détection et la collecte des cas découverts et la capacité de les couvrir correctement.

Windows

Extracteur de table PDF v1.0 (2024)

Télécharger

Extracteur de table PDF v2.0 (2024-2025)

Télécharger

Extracteur de table PDF v3.0 (2025)

Télécharger

Versions

image

Profitant des classes programmées pour l'application ChessPdfBrowser, qui est une application qui scanne et extrait les jeux d'échecs à partir de PDF, j'ai créé une version bêta de la bibliothèque pour extraire du texte à partir de PDF, y compris des éléments tabulaires.

La bibliothèque scanne les pages spécifiées et extrait leur texte. Lors de l'extraction du texte, elle recherche des motifs tabulaires et les extrait dans un format de tableau rectangulaire

J'espère que cela sera utile à quelqu'un

image

J'ai accès à plusieurs PDF contenant des tableaux que je peux expérimenter avec

J'ai remarqué que la v1.0 de la bibliothèque n'est pas très polyvalente ; elle fonctionne bien avec certains PDF mais pas avec d'autres.

La nouvelle version de la bibliothèque introduit plusieurs paramètres basés sur l'essai et l'erreur avec les fichiers PDF de test.

Chaque paramètre peut bien fonctionner avec certains PDF et mal avec d’autres.

L'objectif de la nouvelle version est d'extraire des tableaux en utilisant tous les paramètres créés et de développer une combinaison optimale de résultats en mettant en œuvre un sélecteur d'adéquation.

Cela ne se traduit pas toujours par une extraction parfaite, mais cela peut être un bon début.


Si aucun des paramètres ne conduit à une extraction de table favorable, n'hésitez pas à me contacter pour la possibilité d'ajouter un nouveau paramètre qui fonctionne avec votre table.

image
image

La nouvelle version de la bibliothèque apparaît avec l'intention d'améliorer l'extraction de la table.


L'amélioration proposée pour cette version est de détecter les bords de table avant tout traitement sur les textes, et d'extraire les textes de chaque cellule connaissant leur localisation a priori.

Les bords sont extraits en appliquant des corrélations de base de lignes parfaitement horizontales et verticales, et avec un peu de traitement supplémentaire, des bords de table complets peuvent être extraits.

Une fois les bords obtenus, un graphe est généré avec les connexions immédiates de chaque sommet, et en parcourant ce graphe, les zones des cellules du tableau peuvent être récupérées.


La bibliothèque renvoie un mélange ordonné de tableaux et de paragraphes qui ne sont dans aucun tableau, en essayant de respecter l'ordre dans la mise en page PDF.

L'analyseur peut théoriquement détecter les dispositions dans une ou plusieurs colonnes, ou une combinaison particulière, que l'analyseur de paragraphe inférera avec un peu de chance.

Cela devrait se faire sans aucune intervention supplémentaire dans les appels, simplement en utilisant les constructeurs par défaut.

Les autres constructeurs d'analyseurs prennent des objets de configuration avec de nombreux paramètres, donc si l'analyseur ne fonctionne pas parfaitement avec votre PDF, il est tout à fait possible qu'il puisse le réparer "simplement" en modifiant cet objet de configuration.

It's a difficult task if you're not the library developer, so I'm willing to try to tweak that configuration in case the library doesn't work perfectly with your PDF. (frojasg1@hotmail.com)

Téléchargements