PDF-Ebenen, oder optionale Inhalte, sind Teile des Inhalts, die
sich selektiv betrachten oder verbergen lassen. Ebenen werden beispielsweise
in CAD-Zeichnungen, Landkarten und mehrsprachigen Dokumenten verwendet.
Die Ebenen eines Dokuments werden im Adobe Acrobat Navigationsfenster
Ebenen
(Menü: Anzeige > Navigationsfenster > Ebenen
)
angezeigt. Jede Ebene besitzt einen Namen und hat einen vorgegebenen Status
(AN oder AUS).
Mit „pdfinfo“ lassen sich sämtliche Ebenen mit ihrem Status anzeigen.
$ pdfinfo -o layer itto.pdf # pdfinfo 4.0.0 Layer: Name=English, ObjNo=59, DefaultState=Off Layer: Name=Spanish, ObjNo=63, DefaultState=Off Layer: Name=French, ObjNo=55, DefaultState=Off Layer: Name=German, ObjNo=57, DefaultState=On Layer: Name=Italian, ObjNo=61, DefaultState=Off Layer: Name=Diagram, ObjNo=53, DefaultState=On
Einige Elemente (z. B. Bilder) werden von „pdfinfo“ nicht angezeigt,
wenn sie zu einer Ebene gehören, die standardmäßig ausgeblendet ist.
Mit der Option -l <layerSelection>
lässt sich der Status
einer Ebene verändern, siehe 18.3 „Ebenenauswahl“ unten.
Das PDF HandShake Acrobat Plug-in verwendet grundsätzlich den aktuell ausgewählten Ebenenstatus und druckt daher dieselben Ebenen wie Acrobat.
Bei der Auswahl der Ebenen lässt sich die Vorgabe für den Ebenenstatus in einem PDF-Dokument mit den folgenden Befehlsaufrufen übersteuern:
pdfinfo -l <LayerSelection> pdfprint -o layer=<LayerSelection>
<LayerSelection>
ist ein String, der aus einer oder mehreren durch
Doppelpunkt („:“) getrennte Direktiven besteht. Eine Direktive muss eines der
folgenden Elemente sein:
None: |
Deaktiviere alle Ebenen. |
All: |
Aktiviere alle Ebenen. |
name or +name: |
Aktiviere die Ebene „name“. |
-name: |
Deaktiviere die Ebene „name“. |
number or +number: |
Aktiviere die Ebene mit der Objektnummer „number“. |
-number: |
Deaktiviere die Ebene mit der Objektnummer „number“. |
Ebenennamen sind nicht eindeutig. Falls mehrere Ebenen denselben Namen
haben, werden sie alle durch die Direktive name
modifiziert.
Optionale Inhalte werden – gemäß der Vorgabe für den Ebenenstatus –
gedruckt oder ignoriert. Die Vorgabe lässt sich mit der Option
-o layer=<layerSelection>
übersteuern.
$ pdfprint -P ppv -p pdf itto.pdf $ pdfprint -P ppv -p pdf -olayer=French:-German itto.pdf $ pdfprint -P ppv -p pdf -olayer=None:French:Diagram itto.pdf
Mit dem ersten Befehl wird die deutsche Version des Dokuments gedruckt (die Ebenen „German“ und „Diagram“ sind standardmäßig aktiviert (ON), siehe das Beispiel 18.1 „pdfinfo“ oben). Der zweite Befehl druckt die französische Version des Dokuments aus, da die Ebene „French“ aktiviert und die Ebene „German“ deaktiviert ist. Mit dem dritten Befehl wird auch die französische Version gedruckt, dieses Mal werden erst alle Ebenen deaktiviert und dann „French“ sowie „Diagram“ aktiviert.
Die Syntax zu <LayerSelection>
wird im Abschnitt 18.3 „Ebenenauswahl“
erläutert.
Das Programm „layout“ zeigt oder verbirgt optionale Inhalte entsprechend der Vorgabe für den Ebenenstatus. Dieser lässt sich mithilfe des Attributs „PDFLayer“ übersteuern.
$ layout -l -oPrintColor=RGB -T PNGf itto.pdf itto-german.png $ layout -l -aPDFLayer=None:French:Diagram -oPrintColor=RGB -T PNGf itto.pdf itto-french.png
Mit dem ersten Befehl wird ein Bild der deutschen Dokumentenversion erzeugt (Die Ebenen „German“ und „Diagram“ sind standardmäßig aktiviert (AN), siehe das Beispiel 18.1 „pdfinfo“ oben). Der zweite Befehl erzeugt ein Bild der französischen Dokumentenversion.