Aktuelle Remote-Seminare mit Durchführungsgarantie: Etwas Werbung in eigener Sache Termine: 21.09.-23.09.2020, 23.11.-25.11.2020, 07.12.-09.12.2020, 22.03.-24.03.2021, 07.06.-09.06.2021, 06.09.-08.09.2021XML Einführung und Grundlagen Termine: 20.10.2020, 13.11.2020, 10.12.2020, 25.03.2021, 10.06.2021, 09.09.2021XML - der professionelle Überblick Termine: 23.11.-26.11.2020, 29.03.-01.04.2021Einstieg in die Programmierung Termine: 14.12.-16.12.2020, 07.04.-09.04.2021XML, XSLT, XPath, XSL-FO Einführung Termine: Termin nach WunschEinstieg in C#.NET Termine: 21.09.-23.09.2020, 11.01.-13.01.2021, 26.05.-28.05.2021, 27.09.-29.09.2021VB.NET für Visual Basic-Programmierer Termine: 14.12.-16.12.2020, 08.03.-10.03.2021, 19.07.-21.07.2021, 23.08.-25.08.2021XML Grundlagen, XSL-FO, SVG, DocBook, DITA Termine: Termin nach WunschJava Grundlagen Termine: 30.11.-03.12.2020, 29.03.-01.04.2021C++ für Programmiereinsteiger Termine: 10.09.2020, 11.12.2020, 16.03.2021Neues Seminar: XProc Grundlagen Termine: 21.09.-25.09.2020, 01.03.-05.03.2021Java/JSP/HTML/JDBC/XML Komplett Termine: 07.09.-09.09.2020, 21.10.-23.10.2020, 23.11.-25.11.2020, 25.01.-27.01.2021, 12.04.-14.04.2021, 26.07.-28.07.2021Python für Programmiereinsteiger Last-Minute-Seminare, noch freie Plätze Python für Programmiereinsteiger07.09.-09.09.2020 XML Einführung und Grundlagen21.09.-23.09.2020 XML, XSLT, XPath, XSL-FO Einführung14.12.-16.12.2020

XML * XML-SCHEMA * XPATH * XSL * XSL-FO * SVG * XQUERY * XPROC * ANT * DIVERSES



XSL-FO / Die Struktur von Formatting Objects (FO)

Die Struktur von Formatting Objects (FO)

Die Struktur von Formatting Objects (FO)

➪ Um die FO-basierte Generierung von PDF-, RTF-, PS-, PCL- und anderen Dateien verstehen zu können, müssen Sie zunächst die Struktur von Formatting Objects (FO) verstehen.

pic/fo_root.png

Da es neben den Seitenrändern zusätzliche Einzüge (fo:region-before, o:region-after, fo:region-start, fo:region-end) geben kann, sind solide Grundlagen der Seitenaufteilung wichtig. Im folgenden FO-Dokument finden Sie ein Beispiel, das (nachdem Sie es abgespeichert und die oben beschriebene Transformation aufgerufen haben) so aussieht:

pic/FO2.png

Hier sehen Sie die jeweiligen "fo:region" farblich dargestellt und textlich erläutert.


<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
 <fo:layout-master-set>
  <fo:simple-page-master 
     margin-right="15mm" 
     margin-left="2cm" 
     margin-bottom="1cm" 
     margin-top="2cm" 
     page-width="21cm" 
     page-height="297mm" 
     master-name="layout1">
   <fo:region-body margin-right="5cm" 
       margin-bottom="15mm" 
       margin-top="35mm" 
       margin-left="45mm" 
       background-color="lightgrey" />
   <fo:region-before extent="30mm" 
       background-color="#FFFF33" />
   <fo:region-after extent="7mm" 
       background-color="#B0E0E6" />
   <fo:region-start extent="30mm" 
       background-color="#CC99FF" />
   <fo:region-end extent="45mm" 
       background-color="#CEFF00" />
  </fo:simple-page-master>
 </fo:layout-master-set>
 <fo:page-sequence master-reference="layout1">
  <fo:static-content flow-name="xsl-region-before">
   <fo:block text-align="center">xsl-region-before</fo:block>
  </fo:static-content>
  <fo:static-content flow-name="xsl-region-end">
   <fo:block text-align="center">xsl-region-end</fo:block>
  </fo:static-content>
  <fo:static-content flow-name="xsl-region-start">
   <fo:block text-align="center">xsl-region-start</fo:block>
  </fo:static-content>
  <fo:static-content flow-name="xsl-region-after">
   <fo:block text-align="center">xsl-region-after</fo:block>
  </fo:static-content>
  <fo:flow flow-name="xsl-region-body">
   <fo:block text-align="center">xsl-region-body</fo:block>
  </fo:flow>
 </fo:page-sequence>
</fo:root>

pic/fo_page_sequence.png

Insgesamt gibt es folgende FO-Elemente, die jeweils diverse Attribute und Childnodes haben können:

wg / 16. Juni 2020



Fragen? Anmerkungen? Tipps?

Bitte nehmen Sie Kontakt zu mir auf.




XSL-FO



Vielen Dank für Ihr Interesse an meiner Arbeit.



V.i.S.d.P.: Wilfried Grupe * Klus 6 * 37643 Negenborn

☎ 0151. 750 360 61 * eMail: info10@wilfried-grupe.de

www.wilfried-grupe.de/FO1_1.html