PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2025 → Extraire un tableau d'un PDF
Extraire un tableau d'un PDF
Débuté par THIERRY TILLIER, 30 juil. 2025 19:31 - 3 réponses
Membre enregistré
1 166 messages
Posté le 30 juillet 2025 - 19:31
Bonjour à tous,

J'espère que vous allez bien.

Voici mon contexte :
Je veux extraire un tableau d'un PDF ou d'une image scannée.
Le PDF ne répond à aucune norme puisque qu'il est basé sur du positionnement de caractères ou symbole (coordonnées). Du coup, visuellement, un tableau ressemble à un tableau, mais structurellement ce n'a rien à voir avec un tableau Excel et WORD.
De plus, une extraction d'un PDF vers Excel aura la précision lié à l'outil d'extraction lui-même (JS, JAVA,Python).


J'ai testé plusieurs bibliothèques de Python pour le faire, avec un certain succès, mais il y a trop d'imprécision et des erreurs persiste.

Quelqu'un a-t-il déjà réussi cette prouesse ?
Membre enregistré
175 messages
Posté le 31 juillet 2025 - 10:28
Salut Thierry,
je veux bien y jeter un coup d'oeil et relever le challenge ;)
Peux tu m'envoyer un pdf?
Bien à toi
Stephane

--
Stephane Dujourdy
Softwares made on measure and computing advice since 1980
Softwares made on measure for Diamond and Luxe sector since 1999
info@diamondsoftware.net
http://www.diamondsoftware.net
Membre enregistré
1 166 messages
Posté le 01 août 2025 - 18:43
Salut Stéphane,

Je vais essayé de t'envoyer un PDF, mais je dois l'adapter, en fait ce sont des relevés bancaires.
Je t'envoie ça sur LinkekIn en MP.

Merci pour ton temps

--
Thierry TILLIER
Développeur WINDEV -WEBDEV
Formation WINDEV :
https://www.cours-windev-thierrytillier.com/
Tuto WINDEV sur ma chaîne YouTube
Membre enregistré
1 166 messages
Posté le 05 août 2025 - 21:57
Finalement j'ai trouvé en utilisant un script Python.

Je ferais bientôt un carrousel sur linkedin pour expliquer le process en détail. En attendant, voici quelques infos :

1 - Particularités du format PDF

Contrairement au HTML ou à un fichier Excel, un PDF est un flux de primitives graphiques :
- Chaque mot ou groupe de caractères est stocké avec ses coordonnées (x0,y0,x1,y1) et son style,
- Aucune notion native de tableau ou de colonne,
- Pas de structure de type <table>/<tr>/<td>, ni de cellules identifiables.

Il faut donc reconstruire la logique tabulaire à partir de la mise en page : détecter des lignes d’en-tête, mesurer des espacements horizontaux, regrouper verticalement…


2 Résumé du processus

- Identifier l’emplacement du tableau par un mot-clé fixe.
- Lire les mots et reconstruire l’en-tête pour définir les colonnes.
- Grouper les mots par ligne au-dessous de l’en-tête.
- Valider, nettoyer, convertir chaque cellule.
- Exporter en JSON ou CSV/Excel via pandas.

--
Thierry TILLIER
Développeur WINDEV -WEBDEV
Formation WINDEV :
https://www.cours-windev-thierrytillier.com/
Tuto WINDEV sur ma chaîne YouTube