Die Formen, die eine Seite über das Gezeichnete legt

Legen Sie Quadrate, Kreise, Linien und Umrisse über eine Seite, jedes mit eigener Farbe, eigenem Rahmen und eigener Notiz.

In einem echten PDF ansehen

An ein Rechteck angepasste Stempel

Was ein Dokument über sich sagt — ENTWURF, KOPIE, BEZAHLT —, über Rechtecke von vier verschiedenen Formen gelegt und an jedes angepasst, dann MUSTER, dem Dokument einmal gegeben und auf jede gerade Seite gelegt.

Das PDF öffnen Das vollständige Beispiel ansehen

Auch zu sehen in: Ein Vertrag auf drei mitgelieferten Vorlagen · Eine Mängelliste, jeder Mangel im Plan eingezeichnet · Ein Register, dessen Seiten sagen, woher sie stammen

Zusammenfassung

Manche Markierungen gehören über eine Seite statt in sie hinein: der Kreis um eine Klausel, die Linie, die einen Kommentar mit einer Zahl verbindet, der um einen Bereich eines Plans gezogene Umriss. Die Anzeigesoftware zeigt sie über der Seite, listet sie daneben auf und kann angewiesen werden, sie vom Papier fernzuhalten. Jede trägt eine Notiz, die die Anzeigesoftware zeigt, wenn eine Maus darauf ruht.

Technisch

Auf der obersten Ebene einer Anfrage geschrieben, unter "page_review_marks"

page_review_marks schreibt die /Annots einer Seite: ein Eintrag pro Seite und darin die Formen in der Reihenfolge, in der sie geschrieben werden. Dreizehn Arten werden angenommen, jede benennt sich unter type: square und circle, dem angegebenen Rechteck einbeschrieben; line, zwischen zwei Punkten; polygon, eine geschlossene Folge von Segmenten; polyline, eine offene; redaction, die einen Teil der Seite angibt, der entfernt werden muss; text_mark, die eine Hervorhebung, eine Unterstreichung, eine Durchstreichung oder eine Wellenlinie auf eine Textpassage legt; caret, die markiert, wo etwas eingefügt werden soll; ink, eine freihändig gezeichnete Skizze; sticky_note, ein Symbol, dessen Text die Anzeigesoftware daneben öffnet; file_attachment, ein Symbol, das eine im Dokument enthaltene Datei öffnet; free_text, Wörter in einem eigenen Kasten; und stamp, ein über seinen Kasten gedrückter Stempel. Jede Form nimmt dieselben sechs gemeinsamen Schlüssel an, und die Formen des letzten Eintrags für eine Seite sind die, die diese Seite trägt.

Anfrageschema

  • page_review_marks — Array, optional, standardmäßig leer.
  • page_review_marks[].page — Ganzzahl ≥ 1, erforderlich. Die Seite, für die die Formen gelten.
  • page_review_marks[].shapes — Array, erforderlich. Die Formen, die diese Seite trägt, in der Reihenfolge, in der sie geschrieben werden.
  • shapes[].type — Zeichenkette, erforderlich. Einer der Werte square, circle, line, polygon, polyline, redaction, text_mark, caret, ink, sticky_note, file_attachment, free_text, stamp.
  • square und circle — llx, lly, urx, ury: Zahlen, alle erforderlich, das Rechteck, dem die Form einbeschrieben ist. interior — Farbe, optional, womit sie gefüllt wird. effect — plain oder cloudy, optional, wie der Rand gezeichnet wird.
  • line — x1, y1, x2, y2: Zahlen, alle erforderlich. endings — Objekt, optional, was jedes Ende trägt, unter from und to, jedes einer der Werte none (nichts gezeichnet, so trägt es ein weggelassenes Ende), square, circle, diamond, open_arrow, closed_arrow, butt, reverse_open_arrow, reverse_closed_arrow oder slash. interior — Farbe, optional, womit diese Enden gefüllt werden.
  • polygon und polyline — vertices: Array von Zahlenpaaren, erforderlich. interior — Farbe, optional. polygon nimmt zusätzlich effect an, polyline zusätzlich endings.
  • redaction — llx, lly, urx, ury: Zahlen, alle erforderlich, der markierte Teil. over — Array, optional, die Bereiche darin, jeder vier Ecken gegen den Uhrzeigersinn; fehlt es, wird das Rechteck selbst markiert. fill — Farbe, optional, womit der geleerte Bereich gefüllt wird. overlay_text — Zeichenkette, optional, die Wörter, die dort gedruckt werden, wo der Inhalt war. repeating — boolescher Wert, optional, standardmäßig false, ob diese Wörter immer wieder gesetzt werden, bis der Bereich voll ist. aligned — einer der Werte left (Standard), center und right, wo diese Wörter stehen; nur neben Wörtern gelesen.
  • Eine Schwärzung gibt an, was entfernt werden muss. Sie entfernt es nicht. Was fill, overlay_text und aligned beschreiben, ist die Seite, wie sie sein wird, sobald eine Anzeigesoftware die Markierung angewendet und das Dokument neu geschrieben hat: Bis dahin stehen die Wörter weiterhin unter der Markierung in der Datei, und eine Suche findet sie.
  • text_mark — style: einer der Werte highlight, underline, strike_out und squiggly, erforderlich. over — Array, erforderlich, die Passage: ein Bereich pro Zeile, über die sie läuft, jeder vier Ecken gegen den Uhrzeigersinn; ein leeres Array wird abgelehnt. Eine highlight wird in ihrer color gemalt, die sie angeben muss, multipliziert mit der Seite, damit die Buchstaben darunter lesbar bleiben; die anderen drei werden in ihrer Farbe gezogen, schwarz, wo sie keine angeben.
  • caret — llx, lly, urx, ury: Zahlen, alle erforderlich, der Kasten, in dem das Einfügezeichen steht, gefüllt in seiner color. inset — vier Zahlen, optional, wie weit es von der linken, unteren, rechten und oberen Kante eingerückt gezeichnet wird. paragraph — boolescher Wert, optional, standardmäßig false, ob die Einfügung ein neuer Absatz ist.
  • ink — strokes: Array, erforderlich, die Striche einer freihändig gezeichneten Skizze, jeder ein Array von Punkten aus zwei Zahlen in der Reihenfolge, in der der Stift sie durchlaufen hat, mindestens zwei pro Strich.
  • sticky_note — x, y: Zahlen, erforderlich, die linke untere Ecke seines Symbols, zwanzig Punkt Kantenlänge. icon — einer der Werte note (Standard), comment, key, help, new_paragraph, paragraph und insert. open — boolescher Wert, optional, standardmäßig false, ob sein Text beim Öffnen des Dokuments aufgeklappt erscheint. Sein contents ist erforderlich: Es ist der Text, den es aufklappt.
  • file_attachment — x, y: Zahlen, erforderlich, die linke untere Ecke seines Symbols, zwanzig Punkt Kantenlänge. file — Zeichenkette, erforderlich, der Name eines der attachments der Anfrage, den das Symbol öffnet. icon — einer der Werte push_pin (Standard), graph, paperclip und tag.
  • free_text — llx, lly, urx, ury: Zahlen, alle erforderlich, der Kasten. text — Zeichenkette, erforderlich, die darin gesetzten Wörter, die zugleich sein contents sind, sofern er keine anderen angibt; ein Kasten, der nicht jede Zeile davon fasst, wird abgelehnt. style — Objekt, erforderlich, wie sie gesetzt werden: font, font_size, color, align und Einzüge eines Fließtext-Elements, die Farbe als Zahlen angegeben. callout — Objekt, optional, die Linie, die den Kasten auf eine Stelle der Seite zeigen lässt: line, zwei oder drei Punkte, die Stelle zuerst, und ending, eines der Linienenden, an der Stelle gezeichnet. typewriter — boolescher Wert, optional, standardmäßig false, ob die Wörter ohne Rahmen direkt auf die Seite getippt werden; nie neben callout.
  • stamp — llx, lly, urx, ury: Zahlen, alle erforderlich, der Kasten, den er beansprucht. words — Objekt, optional, die über den Kasten gedrückte Zeile: content, font, span, slant, color und shadow eines Stempel-Elements; fehlt es, wird der Rahmen des Kastens gezeigt. icon — optional, für welchen der Stempel der Norm er steht: approved, experimental, not_approved, as_is, expired, not_for_public_release, confidential, final, sold, departmental, for_comment, top_secret, draft oder for_public_release.
  • Allen Formen gemeinsam: contents — Zeichenkette, optional, die Notiz, die die Anzeigesoftware zeigt. name — Zeichenkette, optional, unter welchem Namen die Form bekannt ist. color — Farbe, optional, die des Rahmens selbst. border — Objekt, optional, width in Punkt und optional ein dash. layer — Zeichenkette, optional, die deklarierte Ebene, auf der die Form gezeichnet wird.
  • shapes[].flags — Objekt, optional. printed — boolescher Wert, ob die Form auf Papier kommt. hidden, no_view, no_zoom, no_rotate, invisible, read_only — boolesche Werte, standardmäßig false.
  • shapes[].appearance — Array, optional. Die Formen, mit denen die Markierung gezeichnet wird, anstelle derer, die aus ihren Angaben gebaut werden: die Elemente, die eine benannte Zeichnung enthält — path, rect, line —, in den eigenen Koordinaten der Seite. Nichts wird gegen die Angaben der Markierung geprüft. Sie enthalten keinen Text und malen in als Zahlen angegebenen Farben: Ein Verlauf, eine sich wiederholende Zelle, ein deklarierter Farbraum oder ein Grafikzustand wird abgelehnt.
  • overlay — Array, optional, bei einer redaction. Die Formen, mit denen der geleerte Bereich gezeichnet wird, sobald die Markierung angewendet ist: dieselben Elemente nach derselben Regel, gemessen ab der linken unteren Ecke seines Rechtecks statt ab der der Seite.
  • shapes[].flags nimmt außerdem locked an, das Verschieben, Größenändern und Löschen der Markierung verhindert, ihre Notiz aber änderbar lässt; locked_contents, das das Ändern ihrer Notiz verhindert, sie aber verschiebbar lässt; und toggle_no_view, das no_view umkehrt, solange der Zeiger über der Markierung ist oder sie ausgewählt ist. Alle drei sind boolesche Werte, standardmäßig false.
  • Das icon einer Haftnotiz nimmt außerdem cross_hairs, right_arrow, right_pointer, up_arrow und up_left_arrow an. Eine Notiz, die einen state setzt — marked oder unmarked oder accepted, rejected, cancelled oder completed —, setzt die Form, die ihr in_reply_to nennt, auf diesen Zustand. Jede Form nimmt außerdem rich_contents an, ihren Text als Body eines XHTML-Dokuments; opacity, von 0 bis 1; grouped_with, den name der Form an der Spitze der Gruppe, der sie sich anschließt; und popup, {"llx", "lly", "urx", "ury", "open"}, das Fenster, in dem die Anzeigesoftware ihren Text zeigt.

Eine Form wird über die Seite gelegt, nicht in das, was die Seite zeichnet: Sie bleibt aus dem Text heraus, den ein Leser kopiert, und aus der Struktur, die ein Dokument über sich angibt.

Eine vollständige Anfrage, die ein PDF erzeugt

{
  "attachments": [
    {
      "name": "statement_4711",
      "file_name": "statement-4711.xml",
      "description": "The statement as a data file",
      "media_type": "text/xml",
      "relationship": "data",
      "modified": "2026-08-03T09:15:00+02:00"
    }
  ],
  "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"
        },
        {
          "type": "text_mark",
          "style": "highlight",
          "over": [[[60, 600], [240, 600], [240, 614], [60, 614]]],
          "color": [1.0, 0.85, 0.2],
          "contents": "The passage under discussion"
        },
        {
          "type": "text_mark",
          "style": "underline",
          "over": [[[60, 580], [240, 580], [240, 594], [60, 594]]],
          "color": [0.75, 0.1, 0.1]
        },
        {
          "type": "text_mark",
          "style": "strike_out",
          "over": [[[60, 560], [240, 560], [240, 574], [60, 574]]],
          "color": [0.75, 0.1, 0.1]
        },
        {
          "type": "text_mark",
          "style": "squiggly",
          "over": [[[60, 540], [240, 540], [240, 554], [60, 554]]],
          "color": [0.75, 0.1, 0.1]
        },
        {
          "type": "sticky_note",
          "x": 250,
          "y": 596,
          "icon": "comment",
          "color": [1.0, 0.85, 0.2],
          "contents": "Check this passage against the signed copy"
        },
        {
          "type": "file_attachment",
          "x": 520,
          "y": 596,
          "file": "statement_4711",
          "icon": "paperclip"
        },
        {
          "type": "free_text",
          "llx": 300,
          "lly": 540,
          "urx": 535,
          "ury": 560,
          "text": "Totals to check against the delivery note",
          "style": {
            "font": "sans",
            "font_size": 9,
            "color": [0.75, 0.1, 0.1],
            "left_indent": 4,
            "right_indent": 4
          },
          "color": [0.75, 0.1, 0.1],
          "callout": {
            "line": [[245, 567], [270, 550], [300, 550]],
            "ending": "open_arrow"
          }
        },
        {
          "type": "stamp",
          "llx": 300,
          "lly": 640,
          "urx": 500,
          "ury": 696,
          "icon": "approved",
          "words": {
            "content": "APPROVED",
            "font": "sans",
            "slant": "flat",
            "color": [0.1, 0.5, 0.2]
          },
          "contents": "Approved by the purchasing department"
        }
      ]
    }
  ],
  "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
    }
  ]
}

Die Zeile, die es sendet, in drei Sprachen

Das Blatt und was darunter gelegt wird

Die Größe der Seiten Ein eigenes Format für bestimmte Seiten Die Einheit, in der eine Seite gemessen wird Wo das Blatt einer Seite in der Zeichnung sitzt Die Bereiche, die eine Seite angibt Wie herum eine Seite gezeigt wird Wie eine Seite erscheint und wie lange sie stehen bleibt Ein mitgesendetes PDF als Seiten des Dokuments Wie weit sich ein mitgeliefertes PDF entpacken darf Die Vorlage unter den Seiten Ein über eine Reihe von Seiten gelegtes Wasserzeichen Benannte Bereiche, die eine Seite zum Füllen markiert

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