4.16. Erstellung eines PDF-Dokumentes für ein gesamtes Werk

Dieses Plugin erstellt ein PDF-Dokument für einen Goobi-Vorgang und speichert es im Dateisystem ab. Für das Inhaltsverzeichnis wird dabei die Struktur der METS-Datei des Goobi-Vorgangs verwendet, für die Seiteninhalte die in der METS-Datei referenzierten Bilddateien.

Je nach Konfiguration können - sofern vorhanden – auch bereits existierende Einzelseiten-PDFs für die Erzeugung des Gesamt-PDFs verwendet werden. Damit geht die Erstellung des PDFs erheblich schneller, da keine Konvertierung stattfinden muss, und Volltexte aus den Einzelseiten-PDFs übernommen werden können.

Alternativ können Volltexte auch aus ALTO-Dokumenten in das PDF geschrieben werden. Dies ist ebenso bei der Erstellung aus Einzelseiten-PDFs möglich, wird jedoch unterdrückt, wenn diese bereits Volltexte beinhalten.

Aufruf des Plugins

Die Erstellung eines PDFs wird über den TaskClient durch den Aufruf angestoßen:

/usr/bin/java -jar /opt/digiverso/itm/bin/TaskClient.jar
-itm http://localhost:8080/itm/service
-s {processpath}
-d {processpath}/ocr/{processtitle}_pdf
-e
-i {stepid}
-T {processtitle}
-t PdfCreation
-n template
-gid {processid}

Parameter

Die innerhalb des TaskClient-Aufrufs zu übergebenen Parameter haben folgende Bedeutungen:

Parameter

Mögliche Goobi Variable

Bedeutung

-itm

http://localhost/itm/service

URL zur Schnittstelle des intranda TaskManagers

-e, --returnError

-

Wenn angegeben, beendet sich der TaskClient mit einem Fehlercode, um das automatische Fortschreiten im Workflow zu unterbinden

-p

0 – 10

Priorität zur Verarbeitung dieses Jobs

-gid

{processid}

ID des Goobi-Vorgangs

-i

{stepid}

Die ID des Arbeitsschrittes, der den Aufruf startet

-T, --title

{processtitle}

Der Vorgangstitel in Goobi, für den der Aufruf gestartet wird

-t, --jobtype

PdfCreation

Der Typ des Jobs

-n, --templatename

template

Wird in diesem Plugin nicht verwendet.

-s, --source

{processpath}

Pfad zum Verzeichnis, in dem sich die Datei meta.xml befindet

-d, --destination

{processpath}/ocr/{processtitle}_pdf

Pfad zum Ordner, in den das PDF geschrieben werden soll, oder alternativ zur PDF-Datei die erstellt werden soll

Einzelseiten-PDFs und ALTO-Dateien werden aus dem Unterordner ocr des source-Ordners - innerhalb dessen sich die Datei meta.xml befindet - aus den Unterordnern <Vorgangsname>_pdf bzw. <Vorgangsname>_alto geladen. Die Dateien müssen, bis auf die Endung, so benannt sein wie die Bilddateien in der METS-Datei.

Ist der Zielordner, in den die PDF-Datei geschrieben wird, identisch mit dem Ordner der Einzelseiten-PDFs, so wird letzterer umbenannt in <Vorgangsname>_pdf_abbyy.

Konfiguration des Plugins

Das Plugin kann ohne eigene Konfigurationsdatei verwendet werden. In diesem Fall werden, sofern vorhanden, Einzelseiten-PDFs und Volltext-ALTO-Dateien für die Erstellung verwendet. Für alle weiteren Parameter der PDF-Erstellung wird die von Goobi bereitgestellte intrandaContentServer Konfigurationsdatei verwendet.

Sollte ein anderes Verhalten gewünscht sein, so muss folgende Konfigurationsdatei angelegt werden:

/opt/digiverso/itm/config/pdfCreationConfig.xml

Diese Datei hat folgenden Inhalt:

<config_plugin>
<usePdfDirectory>[true/false]</usePdfDirectory>
<useAltoDirectory>[true/false]</useAltoDirectory>
<contentServerConfigPath>
/path/to/my/content/server/config.xml
</contentServerConfigPath>
</config_plugin>

Mit dem Parameter usePdfDirectory lässt sich die Verwendung von Einzelseiten-PDFs an bzw. abschalten; mit dem Parameter useAltoDirectory die Verwendung von ALTO-Dateien zur Integrierung von Volltexten.

Der Parameter contentServerConfigPath kann verwendet werden, um einen Pfad zu einer alternativen ContentServer-Konfiguration anzugeben, falls ein anderes Verhalten erwünscht ist als für die PDF-Erzeugung in Goobi.

Stoppen des Plugins

Nach dem Stoppen des Plugins wird eine gerade laufende PDF-Erzeugung beendet, bevor das Plugin beendet wird. In der Warteschlange verbleibende Jobs werden anschließend nach dem Neustart des Plugins bearbeitet.

Die Erzeugung des PDFs erfolgt im TaskManager-Plugin. Beendet man also den TaskManager selbst, wird die Erzeugung sofort abgebrochen. Der Job ist dann jedoch weder in der Warteliste, noch gilt er als beendet oder abgebrochen. Der Job muss in diesem Fall manuell abgebrochen und erneut gestartet werden.