Les scripts que le document enregistre sous un nom

Enregistrez des scripts sous des noms de votre choix, exécutés par le logiciel de lecture à l’ouverture du document et appelés par les actions de ses champs.

Résumé

Un formulaire qui additionne ses lignes, vérifie une date ou remplit un total a besoin de quelques fonctions pour le faire. Plutôt que de les répéter dans chaque champ, vous les écrivez une fois sous un nom, et chaque champ, chaque bouton les appelle. Un logiciel de lecture qui exécute les scripts exécute ceux-ci à l’ouverture du document ; un programme qui n’en exécute aucun affiche le document quand même.

Techniquement

Écrit au premier niveau d’une requête, sous "scripts"

scripts écrit l’arbre de noms /JavaScript du dictionnaire /Names du catalogue : une entrée par nom, chacune une action de script qui contient sa source. La source est écrite telle qu’elle est donnée : rien ici ne l’exécute, ne la vérifie ni ne l’analyse. Un second script sous un nom déjà pris est refusé.

Schéma de la requête

  • scripts — tableau, facultatif, vide par défaut.
  • scripts[].name — chaîne, obligatoire. Le nom sous lequel le script est enregistré.
  • scripts[].source — chaîne, obligatoire. Le script lui-même, écrit tel qu’il est donné.

Les trois premières parties de PDF/A refusent un document qui enregistre des scripts, et un check de l’une d’elles le relève ; pdfa4 le laisse passer. Un élément ou un champ exécute un script par l’action {"script": …}.

Une requête entière qui crée un PDF

{
  "scripts": [
    {
      "name": "totals",
      "source": "function total(a, b) { return a + b; }"
    }
  ],
  "standard_fonts": [{ "name": "sans", "face": "helvetica" }],
  "items": [
    {
      "type": "text",
      "rect": { "llx": 60, "lly": 740, "urx": 535, "ury": 765 },
      "content": ["A form whose fields share one function"],
      "font": "sans",
      "font_size": 14
    }
  ]
}

La ligne qui l’envoie, en trois langages

S’y retrouver

L’ordre du passage d’un champ au suivant Ce qu’une page déclenche à l’arrivée et au départ Fermer, enregistrer, imprimer : ce qu’exécute le document Ce dont le document dit être fait Le sommaire cliquable sur le côté Des points d’arrivée qui ont un nom Suivre un article de colonne en colonne Comment le document s’ouvre et s’imprime

Où aller ensuite

Toutes les clés JSON d’une requête, en une page Les quarante et un autres réglages d’une requête

Voir les prix Voir les exemples