Schneller VDP-Modus

Um zu verstehen, wann der schnelle VDP-Modus erfolgreich eingesetzt werden kann, müssen wir zuerst das Konzept von VDP-Dateien verstehen. Wie genau unterscheiden sie sich von anderen PDF-Dateien?

VDP-Dateien bestehen oft aus mehreren tausend Seiten, die jedoch nicht völlig unabhängig voneinander sind. In der Regel gibt es sich wiederholende Seitenabfolgen. Jede dieser Abfolgen bildet einen sogenannten Record. Ein Record könnte zum Beispiel die Vorder- und Rückseite einer Postkarte enthalten. Ein anderes Beispiel wäre ein 8-seitiger Flyer. Hier wäre die Record Größe dann 8. Normalerweise sind viele der Seiteninhalte "statisch", d. h. sie sind auf allen entsprechenden Seiten der Records vorhanden. Darüber hinaus gibt es noch einige Inhalte, die nur in einem bestimmten Record vorhanden sind. Das könnte z. B. die Adresse auf der Postkarte sein.

In der internen PDF-Struktur verwendet ein PDF in der Regel Form XObjects für den statischen Inhalt. Wird dieser Inhalt noch auf weiteren Seiten verwendet, können die entsprechenden Seiten der verschiedenen Records auf dieses statische Form XObject verweisen. Diese Vorgehensweise reduziert nicht nur die Dateigröße der VDP-Datei, sondern ist auch für die Verarbeitung der PDF-Datei von Bedeutung.

Leider gibt es eine Schwierigkeit: Ein Form XObject kann von dem Kontext abhängen, in dem es aufgerufen wird. Ein extremes Beispiel wäre ein Form XObject, das ein Rechteck mit einer Farbe zeichnet. Die Farbe ist jedoch nicht im Form XObject selbst, sondern im übergeordneten Element, aus dem es aufgerufen wird, definiert. Beim Rendern des Rechtecks kann sich somit die Farbe – abhängig von dem übergeordnetem Element – unterscheiden. Einen solchen Extremfall werden Sie in einer realen PDF-Datei wahrscheinlich nie sehen, aber dass ein Form XObject vollständig in sich geschlossen ist, ist in einer PDF-Datei definitiv nicht selbstverständlich.

Da Form XObject vom Kontext abhängen können, aus dem sie aufgerufen werden, kann pdfToolbox keine Verarbeitungsergebnisse (während der Analyse oder Korrektur) wiederverwenden. Stattdessen muss es das gleiche Form XObject immer wieder verarbeiten, sobald es aufgerufen wird. Dies ist für die meisten PDF-Dateien kein großes Problem, da nicht viele Form XObject wiederverwendet werden. 

Bei VDP-Dateien ist das jedoch anders. Wie bereits erwähnt, ist ein wichtiges Merkmal von VDP-Dateien, dass ein Großteil des Inhalts in wiederverwendeten Form XObject enthalten ist. Diese Form XObject werden fast immer aus demselben Kontext aufgerufen und sind daher eigenständig – sonst würden die Records nicht gleich aussehen.

Für VDP-Dateien ist es daher sinnvoll, die Ergebnisse der statischen Form XObject wiederzuverwenden, da dies sich enorm auf die Performance auswirken kann. Aus diesem Grund führt pdfToolbox 14 den "schnellen VDP-Modus" ein. In diesem Modus werden statische Form XObjects identifiziert, Ergebnisse (von Korrekturen oder Analysen) gespeichert (gecached) und anschließend wiederverwendet, wenn das gleiche Form XObject aufgerufen wird.

Mit Hilfe des "schnellen VDP-Modus" benötigt die Verarbeitung einer VDP-Datei möglicherweise nur einen Bruchteil der Zeit, die im normalen Modus erforderlich wäre. Bei gewöhnlichen PDF-Dateien hingegen werden Sie normalerweise keinen großen Leistungsunterschied feststellen. In seltenen Fällen kann es jedoch zu fehlerhaften Ergebnissen kommen. Es ist daher wichtig, diesen Modus nur für VDP- oder für PDF-Dateien zu verwenden, bei denen derselbe Inhalt immer wieder verwendet wird.

Der "schnelle VDP-Modus" kann in einem Prozessplan für Prüfungen, Korrekturen und Profile aktiviert werden.

Der Modus kann auch auf der Kommandozeile (über --fastvdpmode) oder im SDK aktiviert werden. Er ist ebenfalls im Testmodus verfügbar.