Das Gewicht der Datei und die Zeit, die sie braucht

Legen Sie fest, wie stark das Dokument komprimiert wird: am schnellsten, am kleinsten oder als in einem einfachen Texteditor lesbare Datei.

In einem echten PDF ansehen

Die Datei verkleinern

Ein Dokument, zweimal geschrieben: einmal unkomprimiert, einmal komprimiert. Die Seite nennt beide Dateigrößen und was die Kompression gespart hat.

Das PDF öffnen Das vollständige Beispiel ansehen

Auch zu sehen in: Ein Blatt, das misst, was es angibt

Zusammenfassung

Wenn Sie Kleidung in einen Koffer packen, können Sie sie schnell falten oder lange zusammendrücken. Das Ergebnis passt in dieselbe Tasche, aber nicht auf denselben Platz und nicht in derselben Zeit — und darum geht es hier. Der Modus, der gar nichts zusammendrückt, ist der Außenseiter: Er ist für den Tag da, an dem Sie die Datei in einem schlichten Texteditor öffnen und lesen wollen, was darin steht.

Technisch

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

compression legt fest, wie stark die Streams des Dokuments komprimiert werden. Es gibt drei Einstellungen: ob überhaupt komprimiert wird, die Stufe von 1 bis 9 und das Zusammenfassen der Objekte, die keine Streams sind, in /ObjStm-Objektstreams hinter einem /XRef-Querverweisstream. Letzteres verkleinert ein Dokument mit vielen kleinen Objekten deutlich und setzt eine Anzeigesoftware voraus, die PDF 1.5 kennt; es bleibt standardmäßig aus, sodass eine Datei für ältere Anzeigesoftware unverändert herauskommt.

Anfrageschema

  • compression — Objekt, optional, standardmäßig nicht gesetzt.
  • compression.enabled — boolescher Wert, optional, standardmäßig true. Eine Anfrage, die den Block nennt und nichts dazu sagt, komprimiert trotzdem, wie jedes Dokument. Auf false gesetzt, lässt sich die Datei in einem Texteditor öffnen.
  • compression.level — Ganzzahl, optional, von 1 bis 9. 1 ist am schnellsten und liefert die größte Datei, 9 die kleinste und ist am langsamsten. Fehlt sie, behält die Engine ihre eigene Stufe. Eine Zahl außerhalb von 1 bis 9 wird abgelehnt, und die Antwort nennt sie.
  • compression.object_streams — boolescher Wert, optional, standardmäßig false. Fasst die Objekte, die selbst keine Streams sind, in komprimierten Streams zusammen und schreibt die Querverweistabelle auf dieselbe Weise. Erfordert mindestens PDF 1.5.
  • compression.cross_reference_stream — boolescher Wert, optional, standardmäßig false. Schreibt die Querverweistabelle als komprimierten Stream und lässt jedes andere Objekt unverändert, was auch die Obergrenze von zehn Ziffern für die Position eines Objekts aufhebt. object_streams schreibt die Tabelle bereits auf diese Weise. Erfordert mindestens PDF 1.5 und wird neben first_page_first abgelehnt.

Eine vollständige Anfrage, die ein PDF erzeugt

{
  "compression": { "level": 9, "object_streams": true },
  "standard_fonts": [{ "name": "sans", "face": "helvetica" }],
  "items": [
    {
      "type": "text",
      "rect": { "llx": 60, "lly": 740, "urx": 535, "ury": 762 },
      "content": ["Packed as small as it goes"],
      "font": "sans",
      "font_size": 14
    }
  ]
}

Die Zeile, die es sendet, in drei Sprachen

Was gezeichnet wird, und wie es herauskommt

Alles, was sich auf eine Seite zeichnen lässt 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 Eine einmal gemachte Zeichnung, per Schaltfläche gezeigt 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