PDFmarks – Metadaten und Strukturinformationen manipulieren

Mit Hilfe von PDFmarks und Ghostscript lassen sich Metadaten oder Strukturinformationen zu einem PDF-Dokument hinzufügen. Im Folgenden ist beschrieben, wie man dabei vorgehen muss.

Inhaltsverzeichnis

  1. Beschreibung
  2. Format der PDFmarks-Datei
  3. Anwenden der PDFmarks mit Ghostscript

Beschreibung

PDFmarks ist eine Technik, die zum PDF (Portable Document Format) gehört und die zum Speichern von Metadaten wie Autor oder Titel, aber auch Strukturinformationen wie Lesezeichen oder Hyperlinks verwendet wird. Grundlage dieser Dokumentation ist die Quick Reference on often used Ghostscript PDF options by Milan Kupcevic. Details sind in der pdfmark-Referenz zu finden.

Format der PDFmarks-Datei

Die PDFmarks-Datei ist eine einfache ASCII-Textdatei, die den Konventionen des PDF genügt, d. h. Zeichenketten (Strings) sind in Klammern gefasst, also im Format PDFDocEncoding (Zeichenwerte außerhalb von ASCII werden als okale Escapes notiert, z. B. \351 für é) oder UTF-16-Strings in spitzen Klammern. Der Aufbau einer solchen Datei sieht so aus:

[ /Title (Document title)
  /Author (Author name)
  /Subject (Subject description)
  /Keywords (comma, separated, keywords)
  /ModDate (D:20061204092842)
  /CreationDate (D:20061204092842)
  /Creator (application name or creator note)
  /Producer (PDF producer name or note)
  /DOCINFO pdfmark

% PDFmarks-Datei Template von http://web.archive.org/web/20071009181429/milan.kupcevic.net/ghostscript_ps_pdf

Datumsformat

Der Präfix D: für ein Datum ist eigentlich optional, allerdings zeigen PDF-Viewer wie Mozilla Firefox nur Daten mit dem Präfix an. Das Datumsformat der Felder ModDate und CreationDate lässt sich formal beschreiben als

	YYYYMMDDhhmmss

Dabei bedeutet YYYY die vierstellige Jahreszahl, MM ist der Monat, DD der Tag, hh die Stunde, mm die Minute und ss die Sekunde. Ohne zusätzliche Angabe einer Zeitzone wird diese Zeichenkette als UTC-Zeitangabe interpretiert.

Die Abweichnung von UTC kann als Differenz am Ende des Formatstrings angegeben werden, z. B. +0200 für MESZ (Mitteleuropäische Sommerzeit).

Creator und Producer

Diese Felder sind laut Referenz wie folgt definiert:

Creator
Name der Anwendung, die das/die Originaldokument(e) erzeugt hat.
Producer
Name der Anwendung, die die PDF-Datei aus den Originaldokumenten erzeugt hat.

Anwenden der PDFmarks mit Ghostscript

Mit dem Opensource-Programm Ghostscript kombiniert man anschließend die gewünschte PDF-Datei mit den PDFmarks:

gs -q -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=withmarks.pdf nomarks.pdf pdfmarks

Hinweis

Ghostscript schreibt für sich die Producer-Information, d. h. ein entsprechender Eintrag in der PDFmarks-Datei wird nicht berücksichtigt.