Regardez à l'intérieur d'un formulaire PDF, pas seulement sa surface
Un PDF à remplir paraît simple et l'est rarement. Derrière chaque case se trouve un champ AcroForm dont le nom peut être imbriqué sur trois niveaux, un entier /Ff dont les bits changent de sens selon le type de champ, une valeur d'export qui n'est presque jamais le mot imprimé à côté, et un flux d'apparence que certains lecteurs régénèrent et d'autres non. L'Inspecteur de champs de formulaire PDF ouvre tout cela.
Ce qu'il rapporte
- Le nom qualifié —
/Tassemblé à travers/Parent, si bien queaddress.cityapparaît commeaddress.cityet non comme uncityisolé impossible à désigner. - Le vrai type — texte, multiligne, peigne, mot de passe, case, groupe radio, bouton de commande, liste déroulante, zone de liste ou signature, déduit de
/FTet des bits d'indicateurs. - Chaque bit
/Ff, décodé pour le bon type. Le bit 26 est RichText sur un champ de texte et RadiosInUnison sur un bouton ; le décoder sans regarder/FTproduit n'importe quoi. - Les valeurs d'export. La clé du dictionnaire
/AP /Nde chaque widget est ce que la case ou le bouton radio envoie. C'est souvent1,Onou un code produit — pasYes. /MaxLen,/Opt, la police et la taille de/DA, l'alignement/Q, l'infobulle/TU, la valeur par défaut/DVet toute action supplémentaire/AA.- Les coordonnées — le
/Rectbrut en espace utilisateur de bas en haut et la même boîte en espace page de haut en bas, plus la position de tabulation dans/Annots.
Les défauts qu'il détecte
Des noms qualifiés en double (deux cases, une seule valeur). Des widgets sans flux d'apparence, qui s'affichent vides dans les lecteurs stricts et cassent l'aplatissement. Des widgets hors CropBox — présents, remplis, invisibles. Des widgets orphelins qui n'appartiennent à aucun champ. /NeedAppearances activé, ce qui signifie en pratique que les valeurs ne sont visibles que dans un lecteur qui les régénère.
Ce qu'il ne peut pas vous dire
Il lit la structure enregistrée. Il n'exécute pas le JavaScript du formulaire : un champ calculé affiche donc sa dernière valeur enregistrée et non celle qu'un script produirait. Il ne valide pas non plus le formulaire au regard d'une norme.
Confidentialité
Le PDF est analysé dans votre navigateur avec pdf-lib et pdf.js. Rien n'est envoyé, et les exports JSON et CSV sont générés localement.
Tiny Online Tools







