ForHosting KIT · Documents et PDF

Aplatissez les champs PDF en contenu de page statique

Ada (Countess) Lovelace saisi dans un champ de la page 1 et une case cochée en page 2 deviennent du contenu fixe, et le rapport confirme que les deux ont été aplatis. Le formulaire n'a plus de champs actifs modifiables. 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 un formulaire PDF interactif rempli en une représentation stable où les valeurs saisies font partie du contenu des pages. Cette capacité reçoit le contenu des pages et les définitions des champs, valide chaque valeur et chaque position, crée des opérations d’apparence statiques et déterministes, supprime la collection interactive et indique précisément les champs aplatis. Elle est conçue pour une automatisation prévisible après l’analyse, le remplissage et l’approbation d’un PDF, avec une erreur explicite lorsque le formulaire fourni ne contient aucun champ.

Ce que l’aplatissement change dans un formulaire rempli

Un PDF rempli peut sembler terminé tout en contenant encore des contrôles modifiables. Les zones de texte, cases à cocher, listes, boutons radio et valeurs visibles de signature peuvent rester séparés des instructions graphiques ordinaires de chaque page. Cette distinction compte lorsque le document passe à la livraison, à l’impression ou à l’archivage : un lecteur peut révéler ou modifier le contrôle, et différents logiciels peuvent rendre son apparence autrement.

Cette capacité reprend les valeurs fournies et écrit une opération d’apparence statique dans le contenu de la page correspondante. L’opération est limitée au rectangle indiqué, emploie un format numérique stable et protège les caractères ayant une signification particulière dans les chaînes PDF. Une fois le traitement achevé, la collection de champs interactifs renvoyée est vide.

Les valeurs visibles accompagnent donc le modèle de contenu sans dépendre de contrôles actifs. La sortie comprend aussi un rapport champ par champ, dans l’ordre reçu, afin que votre processus consigne exactement les modifications.

Préparer correctement les pages et les valeurs

Fournissez au moins une page, identifiée par un numéro positif unique, avec son flux de contenu statique existant représenté sous forme de texte. Ajoutez ensuite chaque champ rempli avec un nom unique, son numéro de page, son type, sa valeur textuelle et les coordonnées de son rectangle en points PDF. Les types acceptés couvrent le texte, les cases à cocher, les boutons radio, les choix et les signatures.

Les valeurs sont des chaînes, car l’aplatissement utilise la valeur affichée : une case cochée peut par exemple contenir « Yes », tandis qu’une liste contient le libellé sélectionné. Chaque champ doit désigner une page existante, avec une largeur et une hauteur supérieures à zéro. Toutes les coordonnées et dimensions doivent être des nombres finis.

La validation est volontairement stricte. Les doublons, types inconnus, géométries invalides, pages absentes ou valeurs non textuelles déclenchent une erreur claire plutôt qu’un résultat partiel. Une liste de champs vide est surtout refusée explicitement, afin qu’une opération sans effet ne paraisse jamais réussie.

Exploiter le rapport dans un flux documentaire fiable

Placez cette transformation après le remplissage et l’approbation humaine ou automatique, mais avant la livraison finale ou la préparation de l’archive. Le résultat contient les pages triées par numéro, leur contenu initial suivi des opérations d’apparence générées, une collection de champs vide, le nombre de champs aplatis et leur rapport détaillé. Chaque entrée conserve le nom, la page, le type et la valeur affichée d’origine.

Comparez le nombre au total attendu par votre processus, ou conservez le rapport avec votre piste d’audit afin de simplifier les recherches ultérieures. Ce déterminisme facilite les tests de référence, les empreintes de contenu, les nouvelles tentatives et les builds reproductibles. La capacité modélise l’étape d’aplatissement sans analyser les octets PDF ; un système binaire doit d’abord analyser les pages et champs AcroForm, puis sérialiser le modèle statique renvoyé.

Finaliser une demande approuvée

Intégrez les valeurs du demandeur au contenu des pages après validation et conservez le rapport avec le dossier.

Stabiliser les formulaires avant impression

Supprimez la dépendance aux contrôles interactifs afin que des opérations graphiques déterministes représentent les valeurs.

Quel est le prix de cette capacité ?

L’implémentation dans le navigateur applique la même transformation déterministe.

Que se passe-t-il si le formulaire ne contient aucun champ ?

La requête échoue avec une erreur d’entrée invalide indiquant l’absence de champs. Un formulaire vide n’est jamais déclaré aplati.

Quels types de champs sont pris en charge ?

Le texte, les cases à cocher, les boutons radio, les choix et les signatures sont acceptés. La chaîne fournie devient la valeur affichée.

Cette capacité analyse-t-elle un fichier PDF binaire ?

Non. Elle transforme de façon déterministe le contenu et les valeurs déjà analysés. Un flux binaire analyse avant, puis sérialise après.

Les parenthèses ou autres signes d'un nom abîment-ils la page ?

Non. Les caractères qui ont un sens particulier dans un PDF sont protégés à l'écriture : un nom comme Ada (Countess) Lovelace reste exactement tel qu'il a été saisi. Chaque valeur est en outre limitée au rectangle de son champ et ne déborde pas sur le reste de la page.

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/flatten-form

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/flatten-form \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"pages":[{"number":1,"content":"q 1 0 0 1 0 0 cm Q"}],"fields":[{"name":"full_name","page":1,"type":"text","value":"Ada Lovelace","x":72,"y":680,"width":220,"height":18}]}'
{
  "pages": [
    {
      "number": 1,
      "content": "q 1 0 0 1 0 0 cm Q"
    }
  ],
  "fields": [
    {
      "name": "full_name",
      "page": 1,
      "type": "text",
      "value": "Ada Lovelace",
      "x": 72,
      "y": 680,
      "width": 220,
      "height": 18
    }
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "pdf.flatten_form",
  "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.

Exploiter le rapport dans un flux documentaire fiable

L’algorithme n’utilise ni réseau, ni choix aléatoire, ni horloge, ni état mutable partagé : une même entrée produit donc toujours le même JSON.

Vérifier un flux documentaire automatisé

Comparez flattened_count et flattened_fields au schéma attendu avant sérialisation, livraison ou archivage.

Le résultat identifie-t-il les champs aplatis ?

Oui. flattened_fields indique le nom, la page, le type et la valeur de chaque champ, tandis que flattened_count donne le total.

Consulter la documentation complète du KIT →