Un filigrane posé sur une suite de pages
Donnez au document une ligne — SPÉCIMEN, COPIE, CONFIDENTIEL — et laissez-le la poser sur les pages que vous nommez, par-dessus leur texte ou en dessous.
Le résultat dans un vrai PDF
Tampons ajustés à un rectangle
Ce qu’un document dit de lui-même — DRAFT, COPY, PAID — posé en travers de rectangles de quatre formes différentes et mis à l’échelle de chacun, puis SPECIMEN donné une seule fois au document et posé sur chaque page paire.
Résumé
Un mot comme SPECIMEN ou CONFIDENTIEL doit souvent traverser chaque page, ou une page sur deux, d’un document dont personne ne connaît la longueur à l’avance. Ici vous donnez le mot une seule fois, avec les pages qu’il couvre, et le document le pose lui-même sur chacune, centré et en biais. Vous dites s’il passe par-dessus le texte ou par-dessous, et s’il garde une même taille sur chaque page ou grandit pour remplir chacune.
Techniquement
Écrit au premier niveau d’une requête, sous
"watermarks"
Chaque filigrane est une ligne de texte dessinée sur chaque page de sa suite, centrée sur la partie de la page que le logiciel de lecture montre — sa zone de rognage, ou à défaut la feuille — et tournée à travers cette partie dans le sens que dit son inclinaison. Il est dessiné dans une séquence marquée comme filigrane, pour que le logiciel qui lit la page à voix haute le laisse de côté. from_page et to_page bornent la suite, la dernière page suivant l’endroit où le document se termine ; parity en garde toutes les pages, les impaires ou les paires. Sans size, la ligne est ajustée à chaque page comme un élément stamp s’ajuste à sa boîte ; avec une taille, elle est posée à cette taille sur chaque page. stacking la dessine après le contenu propre de la page, couvrant ce qu’elle traverse, ou avant, pour que tout ce que la page peint la cache.
Schéma de la requête
-
watermarks— tableau, facultatif, vide par défaut. -
watermarks[].content— chaîne, obligatoire. La ligne de texte qu’affiche le filigrane. -
watermarks[].font— chaîne, obligatoire. Le nom de la police déclarée dans laquelle la ligne s’écrit. -
watermarks[].from_page— entier ≥ 1, facultatif. La première page qu’il couvre ; absent, la première page. -
watermarks[].to_page— entier ≥ 1, facultatif. La dernière page qu’il couvre ; absent, la dernière page, quelle qu’elle soit. -
watermarks[].parity— chaîne, facultative,everypar défaut. Les pages de la plage qu’il retient :every,odd(une, trois, cinq…) oueven(deux, quatre, six…). -
watermarks[].stacking— chaîne, facultative,overpar défaut.overle dessine après le contenu propre de la page, pour qu’il couvre ce qu’il traverse ;underle dessine avant, pour que tout ce que la page peint le cache. -
watermarks[].size— nombre, facultatif. La taille de la ligne, en points, la même sur chaque page. Absent, elle est ajustée à chaque page. -
watermarks[].span— nombre, facultatif, 0,95 par défaut. La part de la page que la ligne occupe, mise à l’échelle, quand elle n’a pas de taille propre. -
watermarks[].slant— chaîne, facultative,uppar défaut. Le sens dans lequel la ligne traverse la page :up,downouflat, comme sur un élémentstamp. -
watermarks[].color— couleur, facultative, noir par défaut. -
watermarks[].shadow— objet, facultatif. Une copie de la ligne dessinée derrière elle :dx,dyetcolor, tous trois obligatoires. -
watermarks[].graphics_state— chaîne, facultative. Le nom d’un état graphique déclaré sous lequel la ligne est dessinée, pour son opacité ou son mode de fusion.
Une page hors de toute suite ne contient aucun filigrane. Un élément stamp pose une ligne sur les pages qu’il nomme, à la taille que donne sa boîte ; un filigrane est donné une seule fois au document, et chaque page de sa suite le reçoit.
Une requête entière qui crée un PDF
{
"standard_fonts": [{ "name": "sans", "face": "helvetica_bold" }],
"graphics_states": [{ "name": "faint", "state": { "fill_alpha": 0.25 } }],
"watermarks": [
{
"content": "SPECIMEN",
"font": "sans",
"from_page": 2,
"parity": "even",
"stacking": "over",
"size": 96,
"color": [0.75, 0.16, 0.16],
"graphics_state": "faint"
}
],
"items": [
{
"type": "text",
"rect": { "llx": 60, "lly": 740, "urx": 535, "ury": 765 },
"content": ["Page one carries no watermark"],
"font": "sans",
"font_size": 14,
"pages": [1]
},
{
"type": "text",
"rect": { "llx": 60, "lly": 740, "urx": 535, "ury": 765 },
"content": ["Page two is even, and carries it"],
"font": "sans",
"font_size": 14,
"pages": [2]
}
]
}
La feuille, et ce qu’on pose dessous
La taille des pages Une taille propre à certaines pages L’unité dans laquelle une page est mesurée Où se place la feuille d’une page dans le dessin Les zones que la page déclare Les formes posées sur ce qu’une page dessine Dans quel sens une page s’affiche Comment une page arrive, et combien de temps elle reste Un PDF que vous envoyez, pris comme pages du document Jusqu’où un PDF fourni a le droit de se déplier Le modèle sous les pages Zones nommées à remplir sur une page
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