Wie das Dokument sich öffnet und druckt

Fragen Sie die Anzeigesoftware, was beim Öffnen gezeigt werden soll, wie die Seiten angeordnet werden und was beim Drucken angeboten wird.

In einem echten PDF ansehen

Ein Handbuch, das sagt, wie es gelesen werden möchte

Vier Seiten, die sagen, wie sie geöffnet werden möchten: welche Seite erscheint und wie viel des Fensters sie füllt, die Kapitel daneben, die Seiten zu zweit, ein bereits ausgefüllter Druckdialog — jedes davon ein Wunsch, den die Anzeigesoftware für sich selbst beantwortet.

Das PDF öffnen Das vollständige Beispiel ansehen

Auch zu sehen in: Eigene Seitenbeschriftungen · Eine Diashow, die von selbst läuft · Ein Blatt, das misst, was es angibt

Zusammenfassung

Ein Dokument kann bereits eingerichtet ankommen. Es öffnet sich mit aufgeklapptem Inhaltsverzeichnis an der Seite, auf der richtigen Seite, in der richtigen Größe. Ein Buch zeigt zwei Seiten nebeneinander, wie ein echtes aufgeschlagenes Buch. Und wenn gedruckt wird, bietet der Dialog bereits beidseitig, zwei Exemplare und die wichtigen Seiten an. Das sind Wünsche: Die Anzeigesoftware folgt ihnen, wo sie kann, und nichts geht kaputt, wo sie es anders macht.

Technisch

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

reading umfasst siebzehn Einstellungen, alle optional, die beschreiben, was die Anfrage von der Anzeigesoftware verlangt: /PageMode und /PageLayout im Katalog für die Seitenleiste und das Seitenlayout, eine /OpenAction für die Startseite und ihren Ausschnitt, und der Rest in /ViewerPreferences — die Fensterelemente, die Leserichtung und die Wünsche, die ein Druckdialog liest. Jedes Feld bleibt aus dem Dokument draußen, bis die Anfrage es schreibt: Eine Anfrage, die eine Sache verlangt, verlangt genau diese eine und lässt den Rest der Anzeigesoftware in Ruhe.

Anfrageschema

  • reading — Objekt, optional, standardmäßig nicht gesetzt. Siebzehn Schlüssel, alle optional.
  • open_mode — Zeichenkette. Was die Anzeigesoftware beim Öffnen neben der Seite zeigt. Sechs Werte: page_only, bookmarks, thumbnails, full_screen, layers, attachments.
  • page_layout — Zeichenkette. Sechs Werte: single_page, one_column, two_columns_odd_left, two_columns_odd_right, two_pages_odd_left, two_pages_odd_right.
  • open_on — Objekt. page, eine Ganzzahl ≥ 1, oder element, die id eines Knotens von structure, eines von beiden und nie beide; fit optional, standardmäßig whole_page, wobei die acht Ausschnittsformen die von destinations sind. Ein element öffnet das Dokument dort, wo dieses Element gesetzt ist, und das ist PDF 2.0.
  • hide_toolbar, hide_menu_bar, hide_window_controls, fit_window, center_window, show_title — boolesche Werte.
  • after_full_screen — Zeichenkette. Was neben der Seite angezeigt wird, sobald der Vollbildmodus verlassen ist. Vier Werte: page_only, bookmarks, thumbnails, layers.
  • reading_order — Zeichenkette. Zwei Werte: left_to_right, right_to_left.
  • print_scaling — Zeichenkette. Zwei Werte: viewer, actual_size.
  • lock_actual_size — boolescher Wert, standardmäßig false. Teilt der Anzeigesoftware mit, dass sie keine andere Größe als die angeforderte anbieten darf.
  • duplex — Zeichenkette. Drei Werte: one_sided, short_edge, long_edge.
  • tray_by_page_size — boolescher Wert.
  • copies — Ganzzahl ≥ 1.
  • print_runs — Array, standardmäßig leer. Jeder Eintrag hat first_page und last_page, Ganzzahlen ≥ 1, beide erforderlich.

Die Druckwünsche verlangen mindestens PDF 1.7; lock_actual_size verlangt PDF 2.0. Ein Dokument, das eine niedrigere Version angibt, als es enthält, wird beim Schreiben abgelehnt, und die Antwort nennt, was mehr verlangt hat.

Eine vollständige Anfrage, die ein PDF erzeugt

{
  "reading": {
    "open_mode": "bookmarks",
    "after_full_screen": "bookmarks",
    "duplex": "long_edge",
    "print_scaling": "actual_size",
    "reading_order": "left_to_right",
    "page_layout": "two_pages_odd_right",
    "open_on": { "page": 1, "fit": "whole_page" }
  },
  "bookmarks": [{ "title": "The cover", "page": 1 }],
  "standard_fonts": [{ "name": "sans", "face": "helvetica" }],
  "items": [
    {
      "type": "text",
      "rect": { "llx": 60, "lly": 700, "urx": 535, "ury": 740 },
      "content": ["The handbook"],
      "font": "sans",
      "font_size": 28
    }
  ]
}

Die Zeile, die es sendet, in drei Sprachen

Sich darin zurechtfinden

Die Reihenfolge, in der ein Feld zum nächsten führt Was eine Seite beim Öffnen und Verlassen auslöst Was das Dokument beim Schließen, Speichern, Drucken ausführt Die Skripte, die das Dokument unter Namen registriert Woraus das Dokument laut eigener Angabe besteht Das anklickbare Inhaltsverzeichnis an der Seite Zielorte mit Namen Einem Artikel Spalte für Spalte folgen

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