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, id oder relative_to angibt, 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üssel icon, rollover_icon oder down_icon, mit icon_fit für den Ausschnitt und layout dafür, wo die Beschriftung sitzt.
  • drawings[].transparency — Objekt, optional. Die Zeichnung als eigene Transparenzgruppe, geschrieben wie die transparency des Dokuments, mit space, isolated und knockout: 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, das pdfa1a oder pdfa1b beansprucht, 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 Werte single_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äßig false. 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. Unter variable_print wird 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"
    }
  ]
}

Die Zeile, die es sendet, in drei Sprachen

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

Die Preise ansehen Die Beispiele ansehen