ForHosting KIT · Documents et PDF

Extrayez le texte des pages PDF et assemblez-le dans l’ordre

Deux textes de page, un rapport trimestriel et son annexe, deviennent un seul document avec le séparateur --- PAGE BREAK --- entre les deux, dans l'ordre fourni et sans rien réécrire. Utile après un lecteur de texte ou un OCR. 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

Transformez des blocs de texte séparés par page en une chaîne unique et prévisible sans perdre les limites du document. Fournissez dans l’ordre le texte déjà extrait de chaque page : cette capacité les assemble avec un repère clair. Elle n’effectue aucun OCR et ne télécharge ni n’analyse de fichier PDF. Elle assure l’étape finale des flux qui produisent déjà un bloc par page et exigent une sortie stable, consultable ou exportable.

Préparez les blocs de pages ordonnés

Envoyez un tableau pages contenant au moins un objet, puis placez le texte extrait de chaque page PDF dans son champ text. La position dans le tableau fixe l’ordre : le premier enregistrement correspond à la première page, le deuxième à la suivante, et ainsi de suite. Cette capacité ne trie rien, ne déduit aucun numéro et n’examine pas le PDF, car elle risquerait de modifier silencieusement l’ordre établi en amont.

Chaque valeur text peut contenir des titres, paragraphes, lignes vides, caractères Unicode ou une chaîne vide lorsqu’une page réelle ne comporte aucun texte extractible. Une page vide est acceptée et sa position reste visible grâce aux séparateurs voisins. Chaque entrée doit néanmoins être un objet doté d’un champ text de type chaîne ; les champs absents, nombres, tableaux imbriqués et autres formes sont refusés.

Ce contrat strict évite toute conversion accidentelle. Une requête accepte au maximum 10000 blocs.

Comprenez le résultat assemblé

Le champ text reprend les chaînes originales exactement dans l’ordre transmis. Entre deux pages adjacentes, l’algorithme insère deux retours à la ligne, le repère --- PAGE BREAK ---, puis deux nouveaux retours. Hormis cette insertion, aucun contenu n’est rogné, normalisé, redistribué, interprété ou réécrit.

Les espaces initiaux, retours finaux, lignes blanches répétées, signes et écritures non latines restent donc intacts. Ce choix est volontaire : une étape d’assemblage doit préserver la matière extraite. Si vous souhaitez ensuite nettoyer le texte, appliquez une normalisation distincte et explicite.

Pour séparer de nouveau le résultat, utilisez le repère renvoyé avec ses retours à la ligne.

Intégrez-le à votre flux PDF

Utilisez cette capacité après qu’un lecteur de couche textuelle, un système OCR, un analyseur documentaire ou un flux de dépôt a produit un bloc par page. Elle convient lorsque le système suivant attend une chaîne unique, mais que la révision, la recherche ou les citations ont encore besoin de limites visibles. Un index peut réunir les pages tout en conservant les changements de contexte.

Un archivage peut enregistrer une représentation textuelle stable à côté du document source. Un traitement linguistique peut recevoir l’ensemble sans apprendre à parcourir des tableaux. Une même entrée produit toujours la même sortie.

La qualité dépend intégralement de l’extraction précédente ; les colonnes désordonnées, glyphes manquants ou pages-images doivent être corrigés en amont.

Préparer une indexation

Réunissez les résultats par page en une chaîne indexable tout en conservant des limites explicites pour la vérification.

Assembler une sortie OCR

Regroupez les pages reconnues séparément afin que le résumé ou le classement reçoive un document ordonné.

Créer un compagnon d’archive

Conservez une représentation textuelle déterministe avec le PDF et rendez les transitions de pages visibles.

Cette capacité lit-elle un fichier PDF ?

Non. Elle reçoit des blocs déjà extraits de pages individuelles et réalise uniquement leur assemblage ordonné.

Une page peut-elle contenir une chaîne vide ?

Oui. Elle représente une page sans texte extrait et conserve sa position d’origine entre les limites.

Qu'est-ce qui sépare une page de la suivante dans le résultat ?

Deux retours à la ligne, le séparateur --- PAGE BREAK --- et deux autres retours à la ligne. Rien n'est ajouté avant la première page ni après la dernière : le texte commence et finit exactement comme vous l'avez fourni.

Les espaces et retours à la ligne de mon texte sont-ils nettoyés ?

Non. Espaces en début de ligne, retours finaux, lignes vides répétées, ponctuation et écritures non latines restent tels quels. Pour obtenir une prose propre, appliquez ensuite une normalisation séparée et explicite.

Puis-je redécouper le texte assemblé en pages ?

Oui : coupez sur le séparateur avec les retours à la ligne qui l'entourent. Attention, le même texte littéral pourrait déjà figurer à l'intérieur d'une page, mieux vaut donc le vérifier avant.

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-text

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-text \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"pages":[{"text":"Quarterly report\nRevenue increased by 12%."},{"text":"Appendix\nFigures are unaudited."}]}'
{
  "pages": [
    {
      "text": "Quarterly report\nRevenue increased by 12%."
    },
    {
      "text": "Appendix\nFigures are unaudited."
    }
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "pdf.extract_text",
  "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_mb25
max_pages200
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.

Comprenez le résultat assemblé

La réponse contient text, pages et page_break_marker. Il n’ajoute rien avant la première page ni après la dernière. pages indique le nombre de blocs assemblés et page_break_marker permet au traitement suivant d’identifier le délimiteur.

Intégrez-le à votre flux PDF

L’exécution est déterministe et limitée au JSON fourni : aucun réseau, hasard, horloge, OCR ou décodage PDF n’intervient. Une requête automatisée coûte $0.002.

Quel repère sépare les pages ?

Elle insère --- PAGE BREAK --- entouré de deux retours à la ligne de chaque côté et le renvoie dans page_break_marker.

Que se passe-t-il si je ne fournis aucune page ?

La requête échoue avec invalid_input, car au moins un bloc de page est obligatoire.

Quel est le tarif d’une requête ?

Les requêtes automatisées utilisent le prix de base publié de $0.002, sans supplément par page.

Consulter la documentation complète du KIT →