Eine Stelle der Seite zum Anklicken

Machen Sie eine Stelle der Seite anklickbar: Sie öffnet eine Webadresse oder führt den Leser zu einer anderen Seite desselben Dokuments.

In einem echten PDF ansehen

Ein Brief pro Empfänger, alle in derselben Datei

Vier persönliche Briefe hinter einem Inhaltsverzeichnis. Die Briefe haben keine Seitenzahlen: Jeder Empfänger erhält die Seiten, die auf seine eigene folgen, so viele wie nötig. Jede Zeile des Inhaltsverzeichnisses führt zu dem Brief, den sie nennt.

Das PDF öffnen Das vollständige Beispiel ansehen

Auch zu sehen in: Links und Markierungen auf platziertem Text · Eine Diashow, die von selbst läuft · Interne und externe Links

Zusammenfassung

Er ist unsichtbar: Er liegt über dem bereits Gezeichneten, meist über einem Textstück, das Sie blau gefärbt haben, damit man sieht, dass es anklickbar ist. Ein Sprung innerhalb des Dokuments funktioniert wie ein Inhaltsverzeichnis — der Leser landet auf der richtigen Seite, ohne danach zu scrollen. Auf Papier bleibt das Blatt, wie es ist; am Bildschirm macht der Bereich aus Ihrem Dokument etwas, in dem man navigiert.

Technisch

Angefordert mit "type": "link"

Ein Link ist eine Annotation /Subtype /Link, über die bereits gezeichneten Elemente gelegt, ihr /Rect in Punkt angegeben: Sie begnügt sich mit den Seiten, die diese Elemente erzeugt haben, sodass ein Link hinter der letzten Seite einfach beiseitebleibt. Sein Ziel wird auf zwei Arten geschrieben: in der Kurzform, die eine Adresse oder eine Seitenzahl angibt, oder als vollständige Aktion, die zusätzlich die Ansicht angibt, mit der sich eine Seite öffnet, ein benanntes Ziel, einen Dokumentteil, eine Lesebewegung, das Senden und Zurücksetzen eines Formulars sowie das Ein- und Ausblenden der genannten Felder. Wie auch immer geschrieben, die Annotation hat entweder ein /Dest oder eine /A-Aktion, nie beides zugleich: Jeder Link gibt das eine oder das andere an, sodass nur eine Lesart möglich ist.

Anfrageschema

Erforderlicher Schlüssel: rect. Genau ein Zielschlüssel: to, entweder {"uri": "address"} oder {"page": n} mit n ≥ 1; oder action, eines von {"uri": …} (eine Zeichenkette oder ein Objekt mit erforderlichem uri und track_pointer, standardmäßig false), {"page": …} (eine Ganzzahl ≥ 1 oder ein Objekt mit erforderlichem page und einem fit, standardmäßig "whole_page"), {"destination": "name"}, {"part": n} mit n ≥ 1, {"menu_item": …} mit next_page, previous_page, first_page oder last_page, {"transition": {"effect": …, "seconds": …}}, das den Seitenanzeigebereich so zeigt, wie die vorherige Aktion ihn verlassen hat, eingeblendet durch diesen Übergang, und dieselben effect und seconds annimmt wie eine Seite, {"reset_fields": {"fields": …}}, {"submit_fields": {…}} mit erforderlichem url, optionalem fields und einem format (standardmäßig {"fdf": {"with_no_value": false}}, außerdem {"html": {"get": …, "with_click": …}}, "xfdf" und {"whole_document": {"get": …}}), {"import_fields": {"file": "name"}}, {"show": ["field", …]} oder {"hide": ["field", …]}. Eine Feldmenge wird {"only": …} oder {"all_but": …} geschrieben; fehlt sie, bedeutet sie das ganze Formular. show bringt die genannten Felder wieder in den Blick und hide nimmt sie heraus, wobei jeder Name der Name ist, unter dem ein Feld seine Antwort meldet, und jedes darunter verschachtelte Feld folgt; ein Name, den das Dokument nicht trägt, wird abgelehnt, und ein ausgeblendetes Feld behält seine Antwort, die ein gesendetes Formular mitnimmt. In part ist n eine Seitenzahl und nicht der Rang eines Teils: Der Leser wird zu dem Teil geführt, der Seite n beansprucht, und eine Seite, die kein Teil beansprucht, wird abgelehnt. Optional: highlight, was die Anzeigesoftware zeigt, solange der Zeiger darauf gedrückt gehalten wird, einer der Werte none, invert, outline oder push; fehlt er, entscheidet die Anzeigesoftware. over, ein Array von Vierecken, jedes vier [x, y]-Ecken gegen den Uhrzeigersinn ab der, an der seine Unterkante beginnt, die Bereiche der Seite, über die er anklickbar ist; fehlt es, ist sein Rechteck das Ganze, was ein Satz auf einer Zeile braucht. description, eine Zeichenkette, wohin der Link führt, in Worten; border, der darum gezeichnete Rahmen, fehlt er, wird keiner gezeichnet; layer, der Name einer deklarierten Ebene. pages, ein Array von ab eins gezählten Ganzzahlen, standardmäßig leer. Gegenseitige Ablehnungen: to zusammen mit action; keines von beiden; eine Seite außerhalb des Dokuments. Darüber hinaus nimmt action außerdem {"other_document": {"file": …, "page": n}} an, eine Seite eines anderen PDF, mit optionalem element und new_window; {"launch": {"file": …}}, eine andere Datei oder eine Anwendung, mit optionalem new_window; {"viewer_command": "FullScreen"}, eine Bewegung, die die Anzeigesoftware unter einem Namen anbietet; und {"switch_layers": {"switches": [{"layer": …, "switch": "toggle"}], "ignoring_radio_groups": false}}, das deklarierte Ebenen on, off oder umschaltet. action nimmt außerdem {"attachment": {"file_name": …, "page": n}} an, eine Seite einer PDF-Datei, die das Dokument enthält, benannt über den file_name, unter dem sie enthalten ist, und abgelehnt, wo unter diesem Namen kein PDF enthalten ist, mit optionalem fit und new_window, was PDF 1.6 erfordert; {"carried_path": {"path": [{"child": …}, {"annotation": {"page": n, "name": …}}, "parent"], "page": n}}, eine Seite einer PDF-Datei, Schritt für Schritt erreicht, wobei child in die Datei geht, die die aktuelle unter diesem Namen enthält, annotation in die Datei, die die Dateianhang-Annotation dieses Namens auf dieser ab eins gezählten Seite enthält, und parent hinaus zu der Datei, die die aktuelle enthält, mit denselben optionalen fit und new_window; ein leerer path oder ein erster Schritt, der in keine PDF-Datei dieses Dokuments führt, wird abgelehnt, die folgenden Schritte liegen in anderen Dateien und werden nicht geprüft, und es erfordert PDF 1.6; und {"script": …}, ein unverändert ausgeführtes Skript, das kein Dokument enthält, das einen der ersten drei Teile von PDF/A beansprucht. Ein Link nimmt außerdem mark an, die Bezeichnung, über die der structure-Baum ihn mit den annotations eines Knotens beansprucht, wobei ein auf mehreren Seiten platzierter Link pro Seite einen Link darunter ablegt.

Eine vollständige Anfrage, die ein PDF erzeugt

{
  "standard_fonts": [{"name": "sans", "face": "helvetica"}],
  "layers": [{"name": "Notes"}],
  "items": [
    {
      "type": "text",
      "rect": {"llx": 72, "lly": 740, "urx": 300, "ury": 760},
      "content": ["Visit hqf-pdf.com"],
      "font": "sans",
      "font_size": 14,
      "color": [0.11, 0.31, 0.55]
    },
    {
      "type": "link",
      "rect": {"llx": 72, "lly": 740, "urx": 300, "ury": 760},
      "to": {"uri": "https://hqf-pdf.com/"},
      "border": { "solid": { "color": [0.11, 0.31, 0.55], "width": 0.5 } },
      "highlight": "invert"
    },
    {
      "type": "text",
      "rect": {"llx": 72, "lly": 700, "urx": 300, "ury": 720},
      "content": ["Read on"],
      "font": "sans",
      "font_size": 14,
      "color": [0.11, 0.31, 0.55]
    },
    {
      "type": "link",
      "rect": {"llx": 72, "lly": 700, "urx": 300, "ury": 720},
      "action": {"menu_item": "next_page"}
    },
    {
      "type": "text",
      "rect": {"llx": 72, "lly": 740, "urx": 300, "ury": 760},
      "content": ["The page the move lands on"],
      "font": "sans",
      "font_size": 14,
      "pages": [2]
    },
    {
      "type": "text",
      "rect": {"llx": 72, "lly": 660, "urx": 300, "ury": 680},
      "content": ["A note shown or hidden by the link above it"],
      "font": "sans",
      "font_size": 11,
      "layer": "Notes"
    },
    {
      "type": "link",
      "rect": {"llx": 72, "lly": 680, "urx": 300, "ury": 695},
      "action": {
        "switch_layers": {"switches": [{"layer": "Notes", "switch": "toggle"}]}
      }
    }
  ]
}

Die Zeile, die es sendet, in drei Sprachen

Wohin als Nächstes

Jeder JSON-Schlüssel einer Anfrage, auf einer Seite Die übrigen zweiundzwanzig Dinge, die Sie zeichnen können

Die Preise ansehen Die Beispiele ansehen