1.9.3 vorgeschaltete PDF Titelseite

Im Goobi viewer erzeugte PDF-Dokumente können eine zusätzliche vorgeschaltete Seiten bekommen, die optionale Metadaten zum Gesamtwerk und zu einzelnen Strukturelementen enthalten. Die Metadaten werden ausschließlich aus der METS-Datei des Vorgangs gelesen, zusätzlich ist es auch möglich, in der METS-Datei verlinkte Bildinhalte anzuzeigen. Das Layout sowie statische Inhalte der Metadatenseiten werden durch XML-Dokumente, sogenannte Templates, vorgegeben, die nach individuellen Bedürfnissen angepasst werden können.

Arten von Metadatenseiten

Für die PDF-Erzeugung werden drei verschiedene Arten von Metadatenseiten unterschieden, die individuell aktiviert und konfiguriert werden können:

Art

Beschreibung

Titelseite

Diese Seite ist stets die erste Seite eines PDF-Dokuments und kann Metadaten zum Gesamtwerk und dem obersten im PDF enthaltenen Strukturelement enthalten.

Kapitelseiten

Diese Seiten werden jedem im PDF enthaltenen Strukturelemen außer dem obersten vorangestellt und können Metadaten zum Gesamtwerk und dem jeweiligen Strukturelement enthalten.

Einzelblattseite

Diese Seite wird dem PDF-Dokument einer einzelnen Seite vorangestellt. Sie kann ausschließlich Metadaten zum Gesamtwerk enthalten.

Grundlegende Konfiguration

Die Verwendung der Metadatenseiten wird in der Konfigurationsdatei des für die PDF-Erzeugung verwendeten intranda ContentServers konfiguriert, in der Regel ist das für den Goobi viewer die folgende Datei:/opt/digiverso/viewer/config/config_contentServer.xml.

Für jede Art von Metadatenseite gibt es ein eigenes Konfigurationselement:

Art

Konfigurationselement

Titelseite

<pdfTitlePage>

Kapitelseiten

<pdfChapterTitlePages>

Einzelblattseite

<singlePdfTitlePage>

Alle Konfigurationselemente sind gleich aufgebaut und enthalten folgende Attribute:

Attribut

Beschreibung

@use

Enthält den Wert true, wenn diese Art Metadatenseite verwendet werden soll, ansonsten false.

@templateFolder

Enthält die Datei-URL zum Ordner, in dem die XML-Templates und die Apache fop-Konfigurationsdatei liegen.

@defaultTemplate

Der Dateiname der Template-Datei, ohne Dateiendung, die für die Metadatenseiten-Erstellung verwendet werden soll.

Ein typischer Abschnitt sieht wie folgt aus:

<config>
    <pdfTitlePage use="true"
        templateFolder="file:///opt/digiverso/viewer/config/PdfTitlePage/"
        defaultTemplate="goobiviewer" />
    <pdfChapterTitlePages use="false"
        templateFolder="file:///opt/digiverso/viewer/config/PdfTitlePage/"
        defaultTemplate="goobiviewer-section" />
    <singlePdfTitlePage use="true"
        templateFolder="file:///opt/digiverso/viewer/config/PdfTitlePage/"
        defaultTemplate="goobiviewer-single" />
</config>

Die templateFolder müssen zumindest für jede aktive Metadatenseite die in defaultTemplate angegebene XML-Datei mit Dateiendung .fo enthalten, sowie die Datei fop.xconf, die die Konvertierung zum PDF mittels Apache fop regelt. Details zu Apache fop sind an dieser Stelle zu finden.

Konfiguration der Templates

Jede xml-Datei kann Elemente aus zwei xml-Namensräumen enthalten:

  • fo = http://www.w3.org/1999/XSL/Format

  • cs = http://www.goobi.org/contentServer

Die Elemente aus dem fo-Namensraum steuern das Layout und die Konvertierung ins PDF mittels Apache fop.

Die Elemente aus dem cs-Namenraum steuern die Einbindung der Metadaten und werksbezogenen Bildinhalte ins PDF. Alle diese Elemente werden vor der PDF-Transformation vollständig durch Text-Inhalte oder Elemente aus dem fo-Namensraum ersetzt. Im folgenden werden die möglichen Elemente und ihre Bedeutung ausführlich vorgestellt:

  • <cs:meta> Enthält als Text einen xPath-Ausdruck, der gegen ein Element der METS-Datei aufgelöst wird. Bezeichnet der xPath-Ausdruck ein XML-Element oder -Attribut, das Text enthält, wird das gesamte <cs:meta>-Element durch diesen Text ersetzt. Das Element der METS-Datei wogegen der xPath-Ausdruck aufgelöst wird, sowie einige weitere Parameter werden durch die Attribute von <cs:meta> geregelt. Diese sind:

    • from: Bezeichnet den Ort, also das XML-Element der METS-Datei, gegen den der xPath-Ausdruck aufgelöst wird. Die möglichen Werte werden im entsprechenden Kapitel weiter unten beschrieben.

    • repeat: Enthält dieses Attribut den Wert true, wird das <cs:meta>-Element durch die Verkettung aller durch den xPath-Ausdruck beschriebenen Inhalte ersetzt.

    • valueSeparator: Wenn durch die Verwendung von repeat mehrere Inhalte gefunden werden, werden sie durch den in valueSeparator enthaltenen Text getrennt. Ist kein valueSeparator-Attribut definiert, werden die Inhalte durch ein einzelnes Leerzeichen getrennt.

  • <cs:alt> Dieses Element ist ausschließlich als Kindelement von <cs:meta> zugelassen und enthält einen xPath-Ausdruck, der den Ausdruck in <cs:meta> ersetzt, wenn dieser keine Ergebnisse liefert. Dieses Element enthält als einziges Attribut from mit der selben Bedeutung wie in <cs:meta>

  • <cs:block> Dieses Element muss immer andere <cs:block>, <cs:meta>, <cs:graphic> oder <cs:link> Elemente enthalten, aber nicht unbedingt als direkte Kindelemente. Das <cs:block>-Element wird durch seinen Kompletten Inhalt ersetzt, wenn mindestens eines der enthaltenen Elemente <cs:meta>, <cs:graphic> oder <cs:link> Inhalt enthält – also aufgelöste xPath-Ausdrücke. Andernfalls wird das Gesamte <cs:block>-Element mitsamt seines Inhaltes entfernt. <cs:block>-Elemente dienen also dazu, ganze XML-Blöcke anzuzeigen oder zu entfernen je nachdem ob diese relevanten Inhalt bseitzen. Diese Elemente besitzen folgende möglichen Attribute:

    • repeat: Wenn dieses Attribut den Wert true enthält, wird der Gesamte in <cs:block> enthaltene Inhalt so oft wiederholt, solange der xPath-Ausdruck mindestens eines enthaltenen <cs:meta>, <cs:graphic> oder <cs:link>-Elements weitere Treffer liefert. Dabei werden in der ersten Wiederholung des Blocks alle zweiten Treffer der enthaltenen xPath-Ausdrücke aufgelöst – so vorhanden, und bei der zweiten Wiederholung alle dritten Treffer und so weiter.

    • separator: Hat die selbe Funktion wie in <cs:meta>, nur dass der Text jeweils zwischen zwei durch repeat erzeugten XML-Blöcken eingefügt wird.

    • renderIfExists: Dieses Element enthält eine zusätzliche Bedingung zur Anzeige des Inhaltes von <cs:block>. Exisitert der in renderIfExists enthaltene Ort nicht, wird der gesamte Block entfernt. Ansonsten gelten die normalen Regeln zur Anzeige. Näheres zu Orten siehe unten im entsprechenden Kapitel.

  • <cs:graphic> Dieses Element erzeugt ein Element <fo:external-graphic> zur Anzeige von in der METS-Datei verlinkten Bildinhalten. Aus den Attributen from und fileGroup von <cs:graphic> ergibt sich eine Bild-URL aus der METS-Datei. Ist der Text-Inhalt von <cs:graphic> leer, so wird diese URL als URL für das <fo:external-graphic>-Element verwendet. Alternativ kann eine URL im Text von <cs:graphic> stehen. In diese URL können Teile aus der Bild-URL aus der METS-Datei eingefügt werden um die tatsächliche URL zu bilden. Dazu kann die URL Platzhalter der Form {i} enthalten – wobei i eine ganze Zahl sein muss – die durch das i-te Pfad-Element aus der Bild-URL der METS-Datei ersetzt werden. Pfad-Element sind dabei die durch / getrennten Teile der URL. Ist i negativ, wird das Pfad-Element vom Ende der URL aus gezählt. {-1} bezeichnet also das letzte Pfad-Element der URL. Dadurch kann zum Beispiel eine IIIF-URL für ein 600 Pixel breites JPEG-Bild aus der Datei-URL der METS-Datei gebildet werden als http://viewer/iiif/image/{-2}/{-1}/full/600,/0/default.jpg Es ist grundsätzlich ratsam, URLs zu solch verkleinerten und komprimierten Versionen von Bildern zu verwenden, da große Bilder den Speicherbedarf des PDFs erheblich aufblähen können. <cs:graphic> verfügt über folgende Attribute:

    • from: Bezeichnet den Ort, also das XML-Element der METS-Datei, gegen den der xPath-Ausdruck aufgelöst wird. Die möglichen Werte werden im entsprechenden Kapitel weiter unten beschrieben. In diesem Element sind nur Orte, die eine Datei beschreiben zulässig.

    • fileGroup: Der Name der Dateigruppe der METS-Datei, der die in from beschriebene Datei entnommen werden soll.

  • <cs:link> Erzeugt ein Element <fo:basic-link> zur Anzeige von Links im PDF. Aktuell werden diese Links jedoch lediglich als Text angezeigt, und funktionieren nicht als tatsächliche Links. Als Text des Links wird der Text-Inhalt von <cs:link> verwendet, als URL der Inhalt des Kindelementes <cs:ref> nachdem alle in <cs:ref> enthaltenen cs-Elemente aufgelöst wurden.

  • <cs:ref> Erzeugt den Inhalt für ein umschließendes <cs:link>-Element, Details siehe dort.

Orte

Folgende Orte, also Metadaten-Elemente der METS-Datei können im Attribut from verwendet werden:

Strukturelemente

Diese Orte beziehen sich auf die <mets:div>-Elemente in <mets:structMap>. Sie können in <cs:meta> und <cs:link> verwendet werden. Die Orte ANCHOR, TOP und DIV, die sich auf Elemente der logischen structMap beziehen, beziehen zusätzlich noch den Pfad mets:dmdSec/mets:mdWrap/mets:xmlData des zum <mets:div>-Element gehörenden <mets:dmdSec>-Elementes mit ein. In diesem Fall beginnen die xPath-Ausdrücke mit mods:mods/

Folgende Strukturelemente sind als Orte definiert:

Ort

Beschreibung

ANCHOR

Übergeordneter Datensatz eines physischen Werkes aus der logischen Struktur

TOP

Oberstes sich auf das physische Werk beziehende Strukturelement aus der logischen Struktur

DIV

Dem Kapitel zugeordnetes Strukturelement aus der logischen Struktur, dem die aktuelle Metadatenseite voransteht.

DIV_START_PAGE

Erstes physische Strukturelement, das dem logischen Strukturelement DIV zugeordnet ist

DIV_END_PAGE

Letztes physische Strukturelement, das dem logischen Strukturelement DIV zugeordnet ist

TOP_START_PAGE

Erstes physische Strukturelement, das dem logischen Strukturelement TOP zugeordnet ist

TOP_END_PAGE

Letztes physische Strukturelement, das dem logischen Strukturelement TOP zugeordnet ist

Dateien

Diese Orte beziehen sich auf <mets:file>-Elemente in der <mets:fileSec> der METS-Datei. Sie können nur in <cs:graphic>-Elementen verwendet werden und benötigen zur Differenzierung der Dateigruppen das zusätzliche Attribut fileGroup. Folgende Datei-Orte sind möglich:

Ort

Beschreibung

BANNER

Das erste mit @USE="banner" gekennzeichnete <mets:file>-Element.

DIV_START_FILE

<mets:file>-Element, das dem Strukturelement DIV_START_PAGE zugeordnet ist

DIV_END_FILE

<mets:file>-Element, das dem Strukturelement DIV_END_PAGE zugeordnet ist

TOP_START_FILE

<mets:file>-Element, das dem Strukturelement TOP_START_PAGE zugeordnet ist

TOP_END_FILE

<mets:file>-Element, das Strukturelement TOP_END_PAGE zugeordnet ist

Last updated