Eine einmal gemachte Zeichnung, per Schaltfläche gezeigt
Beschreiben Sie eine Zeichnung unter einem Namen, mit Linien und Formen, sodass eine Formularschaltfläche sie als Symbol trägt.
In einem echten PDF ansehen
Eine Seite und ein Stempel in Tabellenzellen
Eine Prüfseite für ein Paket, das jemand anderes geschickt hat: Jede Zeile zeigt eine seiner Seiten, vollständig aus der Datei genommen, in der sie ankam, neben einem Stempel, der einmal gezeichnet und in jede Zeile gesetzt wird, die ihn erhielt. Beide werden in die Zelle eingepasst, die die Tabelle ihnen lässt, ohne Breite von ihrer Spalte oder Höhe von ihrer Zeile zu beanspruchen.
Das PDF öffnen Das vollständige Beispiel ansehen
Auch zu sehen in: Die Notizen, die ein Programm für sich selbst hinterlässt · Eine Farbe, durch sechs Schablonen gesehen · Eine Zeichnung, vielfach platziert
Zusammenfassung
Eine Schaltfläche, auf die man klickt, sagt mit einer kleinen Zeichnung mehr als mit einem Wort: ein grüner Haken, ein Pfeil, ein Kreuz. Das Motiv entsteht aus Linien und Formen statt aus einem Foto und bleibt daher scharf, ob die Schaltfläche so groß ist wie eine Briefmarke oder wie eine Postkarte.
Technisch
Auf der obersten Ebene einer Anfrage geschrieben, unter
"drawings"
drawings deklariert die Zeichnungen, die das Dokument für sich selbst definiert, jede als Form-XObject mit eigener /BBox und eigener /Matrix, unter dem Namen, unter dem das Symbol einer Schaltfläche sie anzeigt. Eine Zeichnung enthält dieselben Elemente wie eine Seite — einen Pfad, ein Rechteck, eine Linie, einen Textblock —, angeordnet in einem eigenen Raum statt auf einem Blatt. Dort wird nichts Neues erfunden: Es sind die Elemente, die das Schema bereits hat. Sie wird einmal in die Datei geschrieben und per Name gemalt, so oft sie auch gezeigt wird. Eine hier deklarierte Zeichnung wird durch ein drawing-Element auf eine Seite gesetzt und per Name als Symbol einer Schaltfläche gezeigt.
Anfrageschema
-
drawings— Array, optional, standardmäßig leer. -
drawings[].name— Zeichenkette, erforderlich. Der Name, unter dem ein Symbol sie anzeigt. Keine andere Zeichnung der Anfrage, ob deklariert oder aus SVG gelesen, darf ihn tragen. -
drawings[].box— Objekt, erforderlich. Der Bereich des Zeichnungsraums, der erhalten bleibt:llx,lly,urx,ury, Zahlen, alle erforderlich. Nichts außerhalb davon wird gezeichnet. -
drawings[].items— Array, erforderlich. Die Formen, aus denen sie besteht, in Zeichenreihenfolge. Vier Arten:path,rect,line,text. -
drawings[].matrix— Array aus sechs Zahlen, optional. Wie der eigene Koordinatenraum der Zeichnung auf den Raum abgebildet wird, in dem sie gezeigt wird. Fehlt sie, wird die Zeichnung so gezeigt, wie sie gezeichnet wurde. -
Ein Element einer Zeichnung, das
pages,layer,idoderrelative_toangibt, wird abgelehnt: Eine Zeichnung liegt auf keiner Seite, und ihre Koordinaten nennen keine Seitenvariable. - Ein Bild und ein Code innerhalb einer Zeichnung sind für eine künftige Version geplant: Eine Zeichnung hat keinen Zugriff auf die Bilder der Anfrage.
-
Die Schaltfläche, die sie zeigt, ist ein
push_button-Element, über seinen Schlüsselicon,rollover_iconoderdown_icon, miticon_fitfür den Ausschnitt undlayoutdafür, wo die Beschriftung sitzt. -
drawings[].transparency— Objekt, optional. Die Zeichnung als eigene Transparenzgruppe, geschrieben wie dietransparencydes Dokuments, mitspace,isolatedundknockout: Ihre Markierungen werden im benannten Farbraum miteinander verrechnet, bevor die Gruppe auf das trifft, worüber sie gezeichnet wird. Ein nicht deklarierter Farbraum wird abgelehnt, und kein Dokument, daspdfa1aoderpdfa1bbeansprucht, enthält eine solche Gruppe. -
drawings[].reuse— Objekt, optional. Was der Druckmaschine darüber mitgeteilt wird, ob sie die Zeichnung nach dem Rendern behalten darf:identity, eine Zeichenkette, die alle Objekte mit demselben Motiv gemeinsam haben;scope, wie lange sie behalten werden darf, einer der Wertesingle_use,record,file,stream,global,unknown;environment, eine Zeichenkette, die die Umgebung nennt, in der sie gerendert wurde, und die eine über mehrere Dateien hinweg behaltene Zeichnung angibt. Jeder Schlüssel ist optional; eine Identität oder Umgebung, die leer ist oder etwas anderes als druckbares ASCII enthält, wird abgelehnt. -
drawings[].encapsulated— boolescher Wert, optional, standardmäßigfalse. Die Zeichnung in sich geschlossen geschrieben: Sie sieht überall gleich aus, wo sie platziert wird, sodass die Druckmaschine sie einmal rendern und das Ergebnis behalten kann. Untervariable_printwird eine solche Zeichnung auf einer Ebene abgelehnt.
Eine vollständige Anfrage, die ein PDF erzeugt
{
"drawings": [
{
"name": "tick",
"box": { "llx": 0, "lly": 0, "urx": 20, "ury": 20 },
"items": [
{
"type": "line",
"from": { "x": 3, "y": 10 },
"to": { "x": 8, "y": 4 },
"stroke": { "width": 2, "color": [0.09, 0.42, 0.24] }
},
{
"type": "line",
"from": { "x": 8, "y": 4 },
"to": { "x": 17, "y": 16 },
"stroke": { "width": 2, "color": [0.09, 0.42, 0.24] }
}
]
}
],
"standard_fonts": [{ "name": "sans", "face": "helvetica" }],
"items": [
{
"type": "push_button",
"name": "approve",
"rect": { "llx": 60, "lly": 740, "urx": 84, "ury": 764 },
"font": "sans",
"font_size": 10,
"icon": "tick",
"layout": "icon_only"
}
]
}
Was gezeichnet wird, und wie es herauskommt
Alles, was sich auf eine Seite zeichnen lässt Das Gewicht der Datei und die Zeit, die sie braucht Die erste Seite, gezeigt, während der Rest ankommt Ebenen, die die Anzeigesoftware zeigt oder ausblendet Ein Name, der für mehrere Ebenen zugleich steht Aus SVG-Dateien gelesene Zeichnungen Die Ebenensätze, die die Anzeigesoftware anbietet Ebenen, von denen die Anzeigesoftware jeweils eine zeigt
Wohin als Nächstes
Jeder JSON-Schlüssel einer Anfrage, auf einer Seite Die übrigen einundvierzig Einstellungen einer Anfrage