9. Grafiken

Grafiken und andere bildliche Darstellungen, die außerhalb des XML-Dokuments gespeichert sind, werden in XSL-FO mit dem Element <fo:external-graphic> eingebunden. Das Element kann sowohl in einem Block als auch inzeilig verwendet werden.

Die Grafik wird mit Hilfe des Attributs src in das Dokument eingebunden. Als Wert erwartet das Attribut den relativen Pfad zur Bilddatei ausgehend von der XML-Instanz.

Zur Größenveränderung der eingebundenen Grafik können die folgenden Attribute genutzt werden:

  • content-height (Höhenausdehnung der Grafik). Der Vorgabewert ist auto, d. h. die Grafikhöhe, wie in der Grafik selbst, wird übernommen. Der Wert scale-to-fit bewirkt, dass die Grafik an die Dimensionen eines vorgegebenen Rechtecks angepasst wird. Eine Länge in einer beliebigen, unterstützten Maßzahl als Attributwert führt ggf. zu einer Längenbeschränkung (Verkleinerung der Grafik). Ein Prozentwert als Attributwert führt zu einer entsprechenden Skalierung.

  • content-width (Breitenausdehnung der Grafik). Die Attributwerte sind die gleichen wie für die Höhe und bewirken das Gleiche.

Wird die Größe bzw. Skalierung lediglich für eine Dimension spezifiziert, dann wird die Größe in der anderen Dimension proportional angepasst. Um Verzerrungen zu vermeiden, sollte jeweils nur eine der beiden Dimensionen spezifiziert werden.

Beispiel:

<fo:block>
   <fo:inline>
      <fo:external-graphic src="xml/Bilder/bild.bmp"/>                      (1)     
   </fo:inline>
   <fo:inline>
      <fo:external-graphic src="xml/Bilder/bild.bmp" content-width="30mm"/> (2)
   </fo:inline>                         
   <fo:inline>                         
      <fo:external-graphic src="xml/Bilder/bild.bmp" content-width="50mm"
        content-height="20mm"/>            (3)                        
   </fo:inline>
</fo:block>

(1) Der relative Pfad zur Datei Bilder/bild.bmp wird als Wert dem obligatorischen Attribut src übergeben. Die Größe des Bildes wird ohne Skalierung aus dem Original übernommen.

(2) Das Attribut content-width gibt die Breite des Bildes an. Wird keine Höhe festgelegt, wird diese proportional angepasst.

(3) Hier wird sowohl die Höhe mit content-height als auch die Breite mit content-width festgelegt, daher kommt es zu einer Verzerrung.

Formatierer-Ansicht

Formatierer-Ansicht

Hintergrundbilder und -flächen

 

Zur Einbettung von Hintergrundbildern und -flächen gibt es zur typografischen Steuerung eine Reihe von Attributen, die in Blöcken eingesetzt werden können.

Die Attribute sind:

  • background-image (Pfad zum Hintergrundbild). Als Wert erwartet das Attribut den relativen Pfad zur Bilddatei ausgehend von der XML-Instanz.

  • background-position-vertical (vertikale Positionierung innerhalb des gegebenen Block-Rechtecks einschließlich der ggf. definierten padding-Fläche). Vorgabewert ist 0% (beginnend am oberen Rand des Rechtecks). Als Wert kann auch ein Prozentwert zwischen 0% und 100% oder ein absoluter Wert in einer beliebigen, zulässigen Maßzahl angegeben werden. Damit verschiebt sich das Hintergrundbild innerhalb des gegebenen Rechtecks von oben nach unten. Weitere zulässige Werte: top (entspricht 0%), center (50%) und bottom (100%).

  • background-position-horizontal (horizontale Positionierung innerhalb des gegebenen Block-Rechtecks einschließlich der ggf. definierten padding-Fläche). Vorgabewert ist 0% (beginnend am linken Rand des Rechtecks). Als Wert kann auch ein Prozentwert zwischen 0% und 100% oder ein absoluter Wert in einer beliebigen, zulässigen Maßzahl angegeben werden. Damit verschiebt sich das Hintergrundbild innerhalb des gegebenen Rechtecks von links nach rechts. Weitere zulässige Werte: left (entspricht 0%), center (50%) und right (100%).

  • background-position (abgekürzte Schreibweise zur Positionierung des Hintergrundbildes innerhalb des Rechtecks in beiden Dimensionen. Der erste Wert entspricht background-position-vertical, der zweite background-position-horizontal.

  • background-repeat (Wiederholung des Hintergrundbildes innerhalb des Rechtecks). Der Vorgabewert ist repeat (das Hintergrundbild wird ggf. horizontal wie vertikal wiederholt). Beim Wert x-repeat wird lediglich ggf. horizontal wiederholt, bei y-repeat lediglich vertikal und bei no-repeat wird das Bild nicht wiederholt.

  • background-color (Hintergrundfarbe an Stelle eines Hintergrundbildes). Als Attributwert wird eine Farb-Spezifikation erwartet.

Beispiel:

<fo:block background-image="Bilder/bild.bmp" background-repeat="repeat"
   font-size="20pt"> (1)                       
   Hintergrundbild Hintergrundbild Hintergrundbild                         
</fo:block>

(1) Das Bild wird als Hintergrundbild für den Block verwendet. Das Attribut background-repeat steuert die Wiederholung der Grafik.

Formatierer-Ansicht

Formatierer-Ansicht

<< zurück vor >>
Tipp der data2type-Redaktion:
Zum Thema XSL-FO bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

Copyright © dpunkt.verlag GmbH 2004
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "XSL-FO in der Praxis" denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

dpunkt.verlag GmbH, Ringstraße 19B, 69115 Heidelberg, fon 06221-14830, fax 06221-148399, hallo(at)dpunkt.de