Les jeux de calques que le logiciel de lecture propose
Proposez des jeux nommés d’états de calques à côté de celui sous lequel le document s’ouvre, pour que le logiciel de lecture puisse passer de l’un à l’autre.
Le résultat dans un vrai PDF
Un seul dessin, et chacun y voit le sien
Le même plan d’étage sur six calques montrés et cachés un par un : les meubles et les cotes montrés, les notes internes cachées jusqu’à ce qu’on les demande, et un filigrane de brouillon destiné à l’écran et non au papier.
Résumé
Un plan qui contient sa plomberie, son électricité et ses murs sur des calques distincts se lit différemment selon le corps de métier. Un jeu est un agencement nommé de ces calques — « Plomberie », « Électricité » — que le logiciel de lecture propose dans son propre panneau : un clic et le plan devient celui dont ce métier a besoin. Le document s’ouvre toujours sur l’agencement qu’il déclare pour lui-même.
Techniquement
Écrit au premier niveau d’une requête, sous
"layer_configurations"
layer_configurations écrit les configurations de rechange du contenu optionnel du document : une par jeu nommé, chacune listant les calques déclarés qu’elle montre. Un jeu qui n’en nomme aucun n’en montre aucun. La configuration sous laquelle le document s’ouvre est celle que les calques énoncent eux-mêmes ; celles-ci se posent à côté, dans l’ordre où elles sont écrites.
Schéma de la requête
-
layer_configurations— tableau, facultatif, vide par défaut. -
layer_configurations[].name— chaîne, obligatoire. Le nom sous lequel le logiciel de lecture propose le jeu dans son panneau. -
layer_configurations[].shows— tableau de chaînes, facultatif, vide par défaut. Les calques déclarés que le jeu montre ; tout autre calque déclaré y est caché.
Un nom que le logiciel de lecture propose est montré à quelqu’un qui lit ; il vaut donc mieux l’écrire dans la langue du document plutôt qu’avec les mots que la requête emploie pour ses calques.
Une requête entière qui crée un PDF
{
"layers": [{ "name": "Walls" }, { "name": "Wiring" }],
"layer_configurations": [
{ "name": "Wiring only", "shows": ["Wiring"] },
{ "name": "Everything", "shows": ["Walls", "Wiring"] }
],
"standard_fonts": [{ "name": "sans", "face": "helvetica" }],
"items": [
{
"type": "text",
"rect": { "llx": 60, "lly": 740, "urx": 535, "ury": 765 },
"content": ["A drawing a reader can show one trade at a time"],
"font": "sans",
"font_size": 14
}
]
}
Ce qui est dessiné, et ce que cela donne
Tout ce qu’on peut dessiner sur une page Le poids du fichier et le temps de calcul La première page, montrée pendant que le reste arrive Les calques que le logiciel de lecture montre ou cache Un nom qui vaut pour plusieurs calques à la fois Un dessin fait une fois, montré par un bouton Dessins lus dans des fichiers SVG Les calques dont le logiciel ne montre qu’un à la fois
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