ForHosting KIT · Documents et PDF

Extraire des tableaux d'un PDF

Une page dont les valeurs s'alignent par tabulations, comme Cable, 25 et 1,20, devient un tableau à trois colonnes nommées et trois lignes de données. Un paragraphe sans colonnes alignées est refusé plutôt que transformé en faux tableau. Gratuit dans votre navigateur.

  • Gratuit
  • Fonctionne dans votre navigateur
  • Sans inscription
  • Vos données restent sur votre appareil
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt

C'est l'étape déterministe entre l'extraction du texte d'un PDF et l'utilisation réelle des chiffres qu'il contient, sans OCR ni suppositions d'IA.

Du texte PDF brut à un tableau structuré

Quand un extracteur de texte traite une page PDF, les tableaux reviennent sous forme de lignes de texte à plat. Un humain distingue encore les colonnes parce que les valeurs s'alignent — séparées par des tabulations ou par des espaces de deux caractères ou plus —, mais un programme non. Cette capacité comble cet écart.

Vous envoyez les lignes brutes de la page et le système trouve les colonnes alignées : chaque ligne est scindée selon le séparateur détecté, le nombre de colonnes qui se répète d'une ligne à l'autre est retenu comme la forme du tableau, et chaque ligne est découpée en cellules. La première ligne devient l'en-tête par défaut, si bien que la sortie est un tableau columns nommé plus un tableau rows de données, prêts à être convertis en objets ou chargés dans un dataframe.

Tout est déterministe — le même texte produit toujours le même tableau —, ce qui la rend sûre dans un pipeline automatisé où un OCR ou un modèle de vision introduirait une variation silencieuse.

Comment fonctionne réellement l'analyse

D'abord, les lignes vides sont écartées et chaque ligne restante est scindée en cellules. En mode auto, l'analyseur utilise les tabulations dès qu'une ligne en contient une, et sinon des suites de deux espaces ou plus — vous pouvez aussi forcer l'une ou l'autre stratégie avec le paramètre delimiter. Seules les lignes produisant au moins deux cellules sont candidates au tableau.

Parmi elles, l'analyseur cherche le nombre de colonnes qui se répète : le mode de la distribution. Un vrai tableau est un ensemble de lignes qui s'accordent sur leur nombre de colonnes, donc les lignes avec un nombre différent — un paragraphe coupé, un pied de page isolé — sont mises de côté. Si aucun nombre ne se répète au moins deux fois, ou s'il y a moins de deux lignes candidates, l'entrée est rejetée : il n'y a pas de tableau à trouver.

Désactivez-le pour des données sans en-tête et les noms synthétiques s'appliquent à toutes les lignes.

Où elle s'inscrit et ce qu'elle n'est pas

Soyez clair sur ce qu'elle n'est pas. Elle ne lit pas le fichier PDF lui-même — elle travaille sur un texte que vous avez déjà extrait. Elle ne traite pas les pages numérisées, car celles-ci n'ont pas de couche texte ; pour des images de tableaux, il vous faut une capacité fondée sur l'OCR.

Et elle attend des colonnes alignées, pas de la prose : le texte continu est rejeté plutôt que déformé en un faux tableau.

Automatiser un pipeline d'ingestion de rapports

Exécutez l'analyseur après votre extracteur de texte sur chaque page et ne chargez que celles qui contiennent des tableaux — les autres sont rejetées proprement et non facturées.

Lit-elle le fichier PDF directement ?

Non. Elle analyse la couche texte brute d'une page que vous fournissez. Extrayez d'abord le texte avec un extracteur de texte PDF, puis envoyez les lignes ici.

Quels séparateurs de colonnes sont pris en charge ?

Les tabulations, ou les suites de deux espaces ou plus. Le mode automatique détecte celui qu'utilise la page ; vous pouvez aussi forcer tabulation ou espaces avec le paramètre delimiter.

Que se passe-t-il quand le texte ne contient pas de tableau ?

Les appels invalides sont rejetés avant facturation, donc ils ne coûtent rien.

Fonctionne-t-elle sur les PDF numérisés ?

Non. Un scan est une image et n'a pas de couche texte à analyser. Utilisez un extracteur de tableaux OCR pour les documents numérisés ; cette capacité vise les PDF numériques au texte sélectionnable.

Mon document est-il stocké ?

Non. Le texte est traité en mémoire puis supprimé ; seul le tableau analysé est renvoyé.

Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.

POSThttps://api.kit.forhosting.com/pdf/extract-tables

Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.

curl -X POST https://api.kit.forhosting.com/pdf/extract-tables \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Item\tQty\tUnit price\nWidget\t12\t9.99\nGadget\t3\t24.50"}'
{
  "text": "Item\tQty\tUnit price\nWidget\t12\t9.99\nGadget\t3\t24.50"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "pdf.extract_tables",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

max_mb1
max_lines5000
HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

L'API d'extraction de tableaux depuis un texte PDF prend la couche texte brute d'une page PDF — les lignes renvoyées par un extracteur de texte, où les colonnes sont alignées par des tabulations ou des suites d'espaces — et la transforme en un tableau structuré et propre : noms de colonnes, lignes de données et compteurs, en JSON prêt pour un tableur, une importation en base de données ou un script.

Du texte PDF brut à un tableau structuré

Si la page ne contient aucune colonne alignée, l'appel échoue avec une erreur invalid_input claire au lieu d'inventer un tableau, et les appels en échec ne sont pas facturés.

Comment fonctionne réellement l'analyse

Avec has_header activé, la première ligne du tableau nomme les colonnes ; les cellules d'en-tête vides ou dupliquées sont remplacées par col_1, col_2 et ainsi de suite, de sorte que chaque nom de colonne en sortie soit exploitable.

Où elle s'inscrit et ce qu'elle n'est pas

Utilisez-la comme deuxième étape d'un pipeline de données PDF : extrayez la couche texte avec un extracteur, appelez ce endpoint sur chaque page contenant un tableau et chargez les lignes résultantes là où elles doivent aller. Comme l'analyse est un pur traitement de texte, elle s'exécute à la périphérie en quelques millisecondes, coûte $0.002 par appel, et le même code tourne gratuitement dans votre navigateur sur cette page : vous pouvez donc tester le texte d'une page en le collant avant d'automatiser quoi que ce soit. Elle convient aussi aux besoins ponctuels : collez le texte d'une page de rapport, obtenez du JSON, puis convertissez en CSV en une étape de plus.

Récupérer une liste de prix d'une page PDF

Extrayez le texte de la page, envoyez-le et obtenez les colonnes article, quantité et prix en lignes JSON prêtes à importer dans un tableur.

Convertir un dump de données sans en-tête

Désactivez la détection d'en-tête avec has_header=false et obtenez des noms stables col_1..col_n pour chaque ligne d'un listing aligné par espaces.

Combien ça coûte ?

$0.002 par appel. Le même analyseur tourne aussi gratuitement dans votre navigateur sur cette page : vous ne payez que lorsque vous l'automatisez via l'API.

Consulter la documentation complète du KIT →