Des couches que le lecteur montre ou cache
Ranger ce qui est dessiné en couches nommées, que le lecteur montre ou cache d'un clic, et qui se montrent aussi par la loupe ou par la langue.
Écrit au premier niveau d'une requête, sous
"layers"
En mots de tous les jours
Écrit pour tout le monde. Il dit ce que cela pose sur une feuille de papier, et ne vous demande rien de plus.
Un architecte travaille avec des feuilles transparentes empilées : les murs sur l'une, les meubles sur une autre, les cotes sur une troisième. Il en soulève une pour la retirer de la vue. Ici, c'est exactement le même geste. On range ce qu'on dessine par couches nommées, et la personne qui lit le document coche ou décoche la couche qui l'intéresse. On peut aussi décider qu'une couche se voit à l'écran mais ne s'imprime pas — un filigrane de brouillon, par exemple. Un calque peut aussi se montrer tout seul, sans que personne ne coche rien : les cotes fines d'un plan apparaissent une fois qu'on s'est assez approché pour les lire, et une légende écrite deux fois, en deux langues, montre à chacun celle sur laquelle son programme est réglé.
Pour un développeur
Écrit pour celui qui écrit le programme appelant : le modèle, les unités, et les réglages qui portent le poids.
layers déclare les calques que le document définit pour lui-même, chacun sous le nom par lequel un élément dit qu'il y est dessiné. Un lecteur les liste dans son panneau, dans l'ordre où la requête les déclare, et montre ou cache d'un coup tout ce qui est sur l'un d'eux. L'affichage à l'écran et l'impression se règlent séparément : les nommer en sens contraires fabrique un calque qui n'est jamais que regardé, ou jamais qu'imprimé. Un calque peut aussi se montrer tout seul, sans le panneau : un zoom le montre entre deux grossissements, et une language le montre au lecteur réglé sur cette langue et le cache des calques de toutes les autres. Un calque que le panneau refuse de basculer est locked, et il démarre quand même là où visible le pose.
Chaque clé, avec son défaut
La référence : quelles clés sont obligatoires, lesquelles sont facultatives, ce que vaut chacune par défaut et quelles combinaisons le serveur décline.
-
layers— tableau, facultatif, vide par défaut. -
layers[].name— chaîne, obligatoire. Le nom par lequel les éléments désignent ce calque, et le nom que le panneau du lecteur affiche. -
layers[].visible— booléen, facultatif. Si le calque démarre affiché. Absent, il démarre affiché. -
layers[].printed— booléen, facultatif. Si l'impression montre le calque, quoi que dise le panneau. Absent, l'impression suit le panneau. -
layers[].on_screen— booléen, facultatif. Si l'affichage montre le calque, quoi que dise le panneau. Absent, l'écran suit le panneau. -
layers[].locked— booléen, facultatif,falsepar défaut. Si le panneau du lecteur refuse de basculer le calque. Un calque verrouillé garde son entrée, montre l'état sous lequel il démarre, et démarre quand même là oùvisiblele pose. -
layers[].zoom— objet, facultatif. Les grossissements entre lesquels le calque se montre, quoi que dise le panneau. Absent, il se montre à tous les grossissements, et un objet qui ne nomme aucune des deux bornes est refusé. -
layers[].zoom.from— nombre, facultatif. Le grossissement à partir duquel le calque se montre, celui-là compris. Absent, il n'a pas de plancher, c'est-à-dire 0. -
layers[].zoom.to— nombre, facultatif. Le grossissement en dessous duquel le calque se montre, celui-là exclu. Absent, il n'a pas de plafond. Une paire que rien ne peut satisfaire — unfromégal ou supérieur auto, ou unfromnégatif — est refusée. -
layers[].language— chaîne, facultative, aucune langue par défaut. Une étiquette de langue,fr-FRouen-GB. Un lecteur réglé sur cette langue montre ce calque et cache les calques de toutes les autres, ce qui permet à une même feuille de porter deux fois son texte et de n'en montrer qu'un. -
layers[].preferred— booléen, facultatif,falsepar défaut. Si c'est le calque sur lequel un lecteur se rabat quand aucun calque ne donne exactement la langue sur laquelle il est réglé. L'écrire sanslanguageest refusé. -
Un élément se pose sur un calque par sa clé
layer, qui porte le nom déclaré ici. Un élément sanslayerest toujours là, sur toutes les couches. - Les calques demandent PDF 1.5 au moins.
-
Un document qui déclare une norme
archiverefuse un calque qui écritprinted,on_screen,zoomoulanguage: un fichier d'archive laisse cette décision au lecteur. Le calque lui-même passe, etlockedaussi, qui ne fait dépendre la page de rien de ce pour quoi on la regarde.
Une requête entière qui le dessine
Envoyez ceci tel quel et un PDF revient. Rien n'en a été retiré.
{
"layers": [
{ "name": "Dimensions" },
{ "name": "Draft", "on_screen": true, "printed": false },
{ "name": "Crop marks", "locked": true },
{ "name": "Fine print", "zoom": { "from": 2 } },
{ "name": "French wording", "language": "fr-FR" },
{ "name": "English wording", "language": "en-GB", "preferred": true }
],
"standard_fonts": [{ "name": "sans", "face": "helvetica" }],
"items": [
{
"type": "rect",
"rect": { "llx": 80, "lly": 560, "urx": 380, "ury": 760 },
"stroke": { "width": 2 }
},
{
"type": "text",
"rect": { "llx": 80, "lly": 540, "urx": 380, "ury": 556 },
"content": ["300 by 200"],
"font": "sans",
"font_size": 10,
"layer": "Dimensions"
},
{
"type": "text",
"rect": { "llx": 80, "lly": 700, "urx": 380, "ury": 740 },
"content": ["DRAFT"],
"font": "sans",
"font_size": 36,
"color": [0.85, 0.85, 0.85],
"layer": "Draft"
},
{
"type": "text",
"rect": { "llx": 80, "lly": 520, "urx": 380, "ury": 534 },
"content": ["Shown from twice the page size upwards"],
"font": "sans",
"font_size": 7,
"layer": "Fine print"
},
{
"type": "text",
"rect": { "llx": 80, "lly": 480, "urx": 380, "ury": 496 },
"content": ["Plan du premier etage"],
"font": "sans",
"font_size": 11,
"layer": "French wording"
},
{
"type": "text",
"rect": { "llx": 80, "lly": 480, "urx": 380, "ury": 496 },
"content": ["First floor plan"],
"font": "sans",
"font_size": 11,
"layer": "English wording"
}
]
}
Ce qui est dessiné, et comment cela sort
Tout ce qu'on peut dessiner sur une page Le poids du fichier et le temps de calcul Un dessin fait une fois, montré par un bouton
Où aller ensuite
Chaque clé d'une requête, en une page Les trente-deux autres réglages d'une requête
Glossaire
- norme
- Une règle débattue en commission, publiée sous un numéro que n'importe qui peut acheter et lire, et identique pour toutes les entreprises qui s'en réclament. Dire qu'on la suit peut donc être vérifié face au texte. Une façon de faire qui s'est simplement répandue parce qu'elle marchait est une habitude du métier : utile, très suivie, et qui ne répond devant aucun texte.
- requête
- Un appel au service : vous envoyez ce que le document doit dire, et vous recevez le document. Votre facture compte ces appels, un par document. Le nombre de pages d'un document n'est jamais compté.
- calque
- Un groupe nommé de choses dessinées sur une page, que le lecteur peut afficher ou masquer, comme un calque posé sur un plan. Un plan peut garder ses cotes sur l'un et ses notes sur l'autre, et un calque peut être réglé pour s'afficher à l'écran et rester hors de l'impression.
- filigrane
- Une mention imprimée en travers de la page, qui indique que le document a été fabriqué avec un compte gratuit. Elle ne peut pas être effacée du fichier ; les formules payantes ne la posent tout simplement pas.