Les formes posées sur ce qu'une page dessine
Posez des carrés, des cercles, des traits et des contours sur une page, chacun avec sa couleur, son bord et sa note.
Résumé
Certaines marques se placent au-dessus d'une page plutôt que dedans : le cercle autour d'une clause, le trait qui relie un commentaire à une figure, le contour tracé autour d'une zone de plan. Le logiciel de lecture les montre par-dessus la page, les liste à côté d'elle, et on peut lui dire de les tenir hors du papier. Chacune contient une note que le logiciel de lecture affiche quand la souris s'arrête dessus.
Techniquement
Écrit au premier niveau d'une requête, sous
"page_review_marks"
page_review_marks écrit les /Annots d'une page : une entrée par page, et dedans les formes dans l'ordre où elles sont écrites. Six sortes sont prises, chacune se nommant sous type : square et circle, inscrites dans le rectangle qu'elles énoncent ; line, entre deux points ; polygon, une suite fermée de segments ; polyline, une suite ouverte ; et redaction, qui énonce une partie de la page qui doit partir. Chaque forme prend les six mêmes clés communes, et les formes de la dernière entrée donnée pour une page sont celles que cette page porte.
Schéma de la requête
-
page_review_marks— tableau, facultatif, vide par défaut. -
page_review_marks[].page— entier ≥ 1, obligatoire. La page concernée par les formes. -
page_review_marks[].shapes— tableau, obligatoire. Les formes que cette page contient, dans l'ordre où elles sont écrites. -
shapes[].type— chaîne, exigé. Une valeur parmisquare,circle,line,polygon,polyline,redaction. -
squareetcircle—llx,lly,urx,ury: nombres, tous obligatoires, le rectangle dans lequel la forme est inscrite.interior— couleur, facultatif, ce qui la remplit.effect—plainoucloudy, facultatif, la façon dont le bord est tracé. -
line—x1,y1,x2,y2: nombres, tous obligatoires.endings— objet, facultatif, ce que porte chaque extrémité, sousfrometto, chacune valantnone(rien de dessiné, ce que porte une extrémité laissée de côté),square,circle,diamond,open_arrow,closed_arrow,butt,reverse_open_arrow,reverse_closed_arrowouslash.interior— couleur, facultatif, ce qui remplit ces extrémités. -
polygonetpolyline—vertices: tableau de paires de nombres, obligatoire.interior— couleur, facultatif.polygonprend aussieffect,polylineprend aussiendings. -
redaction—llx,lly,urx,ury: nombres, tous exigés, la partie marquée.over— tableau, facultatif, les emplacements à l'intérieur, chacun de quatre coins dans le sens inverse des aiguilles ; absent, c'est le rectangle lui-même qui est marqué.fill— couleur, facultatif, ce dont l'emplacement vidé est rempli.overlay_text— chaîne, facultatif, les mots imprimés là où était le contenu.repeating— booléen, facultatif, faux par défaut, si ces mots sont posés encore et encore jusqu'à remplir l'emplacement.aligned— une valeur parmileft(par défaut),centeretright, où ces mots se tiennent ; lu seulement à côté de mots. -
Une marque de caviardage énonce ce qui doit partir. Elle ne l'enlève pas. Ce que décrivent
fill,overlay_textetaligned, c'est la page telle qu'elle sera une fois qu'un logiciel de lecture aura appliqué la marque et réécrit le document : tant que cela n'a pas eu lieu, les mots sont toujours dans le fichier sous la marque, et une recherche les trouve. -
Communes à toutes les formes :
contents— chaîne, facultative, la note que le logiciel de lecture affiche.name— chaîne, facultative, le nom sous lequel la forme est connue.color— couleur, facultative, celle du bord.border— objet, facultatif, unewidthen points et undashfacultatif.layer— chaîne, facultative, le calque déclaré sur lequel la forme est dessinée. -
shapes[].flags— objet, facultatif.printed— booléen, si la forme part sur le papier.hidden,no_view,no_zoom,no_rotate,invisible,read_only— booléens, faux par défaut.
Une forme est posée par-dessus la page, pas dans ce que la page dessine : elle reste en dehors du texte qu'un lecteur copie, et en dehors de la structure que le document déclare sur lui-même.
Une requête entière qui crée un PDF
{
"page_review_marks": [
{
"page": 1,
"shapes": [
{
"type": "square",
"llx": 60,
"lly": 640,
"urx": 300,
"ury": 700,
"color": [0.8, 0.1, 0.1],
"border": { "width": 2 },
"effect": { "cloudy": { "intensity": 1.5 } },
"contents": "The clause under discussion",
"flags": { "printed": false }
},
{
"type": "line",
"x1": 320,
"y1": 700,
"x2": 520,
"y2": 660,
"endings": { "from": "circle", "to": "open_arrow" },
"color": [0.8, 0.1, 0.1],
"border": { "width": 1.5 },
"contents": "Where the clause is answered"
}
]
}
],
"standard_fonts": [{ "name": "sans", "face": "helvetica" }],
"items": [
{
"type": "text",
"rect": { "llx": 60, "lly": 740, "urx": 535, "ury": 765 },
"content": ["A square laid over the clause, and kept off the paper"],
"font": "sans",
"font_size": 14
}
]
}
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 Les zones que la page déclare L'orientation à l'écran et à l'impression Comment une page arrive, et combien de temps elle reste Jusqu'où un PDF fourni a le droit de se déplier Le modèle sous les pages
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