Seiten von PDF-Dokumenten aufteilen und zusammenführen
Einzelne Seiten aus einer Anzahl von Eingabedokumenten auswählen und sie in einer Reihe von Ausgabedokumenten neu anordnen gehört zur täglichen Routine in einer Dokumentenassemblierungsanwendung. Auf den ersten Blick scheint dies eine klare und verständliche Aufgabe zu sein. Aber PDF bietet einige spezielle Funktionen, auf die Sie während der Zusammenstellung achten sollten.
Im Wesentlichen muss ein Tool zum Teilen und Zusammenführen von Seiten in der Lage sein, zwei Arten von Datenstrukturen zu verarbeiten:
Alle Objekte, die zu einer bestimmten Seite gehören
Objekte, die dem Dokument angehören und sich auf die spezifische Seite beziehen
Lassen Sie uns mit der ersten Art beginnen. Ein Seitenobjekt aus dem Seitenbaum eines Eingabedokuments abzurufen und in den Seitenbaum des Ausgabedokuments einzufügen, ist offensichtlich und recht einfach umzusetzen. Alle Objekte, auf die das genannte Seitenobjekt verweist, werden ebenfalls kopiert. Das funktioniert recht gut, selbst wenn die referenzierten Objekte Shared Objects wie Seitenressourcen (Schriften, Farbräume usw.) und Inhaltsstromobjekte sind. Wenn das Tool sicherstellen muss, dass Shared Objects im Ausgabedokument weiterhin shared sind, was sicherlich keine Raketenwissenschaft ist. Bis jetzt, so gut.
Die Dinge werden jedoch etwas komplizierter für alle Objekte, die nicht direkt durch die spezifische Seite referenziert werden, sondern irgendwie damit verbunden sind. Diese Objekte gehören zum Dokument selbst und sind allen Seiten gemeinsam. Beispiele für solche Objekte sind Gliederungsbäume, benannte Zielbäume, Formulare und vieles mehr. In den meisten Fällen macht es keinen Sinn, all diese Objekte in das Ausgabedokument zu kopieren. Das Tool muss diese Datenstrukturen auf eine sinnvolle Teilmenge reduzieren. Zum Beispiel werden nur die Gliederungen kopiert, die sich auf das Set von Seiten im Ausgabedokument beziehen. Herauszufinden, welche Objekte sich auf dieses Seiten-Set beziehen, ist nicht immer einfach und kann erfordern, dass das Tool konfigurierbare Richtlinien befolgt.
Seiten aus verschiedenen Dokumentquellen zusammenzuführen, ist viel schwieriger als sie zu teilen. Wiederum ist das Kopieren von Seiten und deren referenzierten Objekten einfach. Die Zusammenführung von Objekten aus dokumentenebenen Datenstrukturen wie Gliederungsbäumen, benannten Zielbäumen usw. ist im Allgemeinen nicht einfach. Das liegt daran, dass die Namen von Baum-Elementen aus verschiedenen Quellen möglicherweise nicht einzigartig sind und das Tool diese Konflikte lösen muss. Um dies zu tun, muss das Tool erneut konfigurierbare Richtlinien befolgen.
Ein gut ausgearbeitetes Split- und Merge-Tool ist jedoch in der Lage, die oben beschriebenen besonderen Situationen zu handhaben. Neben der Hauptfunktion bieten die meisten Werkzeuge zusätzliche Funktionen, die im Kontext der Dokumentenassemblierung verwendet werden. Einige davon sind:
Eingabedokumente entschlüsseln und Ausgabedokumente verschlüsseln
Ausgabedokument linearisieren
Seiten drehen
Seitenformate vergrößern und verkleinern