advertisement

xsl:fo

50 %
50 %
advertisement
Information about xsl:fo
Templates & Forms

Published on February 28, 2014

Author: soophie1

Source: slideshare.net

Description

PDF-Dateien mit XSL erstellen. Ein Einstieg
advertisement

XSL:FO PDFs erstellen mit XML

TOC 1. 2. 3. 4. 5. 6. 7. Was ist XSL:FO? Wie sieht es aus? Der Layout-Master Die wichtigsten Elemente Wie wird daraus ein PDF? – Die Prozessoren Hübsch machen – Geht das? Linksammlung

Was ist XSL:FO? Extensible Stylesheet Language Formatting Objects Teil von XSL W3C-Standard, published in 2006 Formatierung von XML-Dokumenten für verschiedene Ausgabemedien, z.B. PDF

Wie sieht es aus? <?xml version="1.0" encoding="utf-8"?> <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"> <fo:layout-master-set> … </fo:layout-master-set> <fo:page-sequence> … </fo:page-sequence> </fo:root>

Wie sieht es aus? XSL:FO muss, wie bei XML-Sprachen üblich, wellformed sein, also müssen alle geöffneten Blöcke wieder geschlossen werden. Tags, wie z.B. fo:block können so Block- oder Inline-Elemente sein. Als InlineElemente haben sie jedoch keinen eigenen Inhalt. fo:block · fo:table · fo:block-container · fo:block · fo:inline-block · fo:st fo:external-graphic · fo:flow ·

Regionen und der LayoutMaster

Regionen Regionen sind festgelegte Bereiche einer Page, wie Kopf- und Fußzeile. Die Regionen und deren Einstellungen. Folgende Regionen gibt es: region-body (Hauptinhalt) region-before (Kopfzeile) region-after (Fußzeile) region-start (linke Sidebar) region-end (rechte Sidebar)

Der Layout-Master Der Layout-Master beschreibt das Grundlayout für eine Seite. Es können mehrere Master für unterschiedliche Darstellungen in einem Dokument verwendet werden: <fo:layout-master-set> <fo:simple-page-master master-name="A4" page-height="29.7cm" page-width="21cm" margin-top="1.3cm" margin-bottom="1.8cm" margin-left="1.5cm" margin-right="1.5cm"> <fo:region-body margin-top="4cm" margin-bottom="1cm" /> <fo:region-before extent="6cm" /> <fo:region-after extent="1.8cm" /> </fo:simple-page-master> <fo:simple-page-master master-name="A4-start" page-height="29.7cm" page-width="21cm" margin-top="1.3cm" margin-bottom="2.2cm" margin-left="1.5cm" margin-right="1.5cm" > <fo:region-body margin-top="8cm" margin-bottom="1cm" /> <fo:region-before extent="8cm" />

Die wichtigsten Elemente

fo:page-sequence <fo:page-sequence master-reference="A4-start"> … </fo:page-sequence> Entspricht dem Element section und markiert einen Abschnitt eines Dokuments, zum Beispiel ein Kapitel. Das Attribute masterreference bezieht sich auf den zu verwendenden Layout-Master.

fo:flow <fo:flow flow-name="xsl-region-body"> … </fo:flow> Der Inhalt einer Page werden in fo:flow eingebettet. Passt der Content nicht auf eine Seite wird er automatisch auf der nächsten Seite fortgeführt. Das Attribut flow-name gibt an, in welcher Region der Inhalt angezeigt wird.

fo:block <fo:block> Hello, world! </fo:block> <fo:block id="end" /> fo:block entspricht dem div-Container im HTML. Da es keine eigenen Tags für Absätze, Überschriften oder ähnliches gibt, wird über das fo:block-Element der Inhalt definiert und gestyled. fo:block als Inline-Element. Hier ist das Inline-Element mit der id "end" ein Marker, um festzulegen, dass dies die letzte Seite ist.

Exkurs: Seitennummern anzeigen <fo:block> <fo:page-number /> / <fo:page-number-citation-last ref-id="end" /> </fo:block>

Tabellen Tabellen sind vom Aufbau her den HTML-Tabellen sehr ähnlich. Der Inhalt gliedert sich in die drei Bereich fo:table-body, fo:tableheader und fo:table-footer. Wobei fo:table-header und fo:table-footer immer vor dem fo:table-body definiert werden.

Tabellen <fo:table table-layout="fixed" width="12cm"> <fo:table-column column-number="1" column-width="5cm"/> <fo:table-column column-number="2" column-width="3cm"/> <fo:table-column column-number="3" column-width="4cm"/> <fo:table-body> <fo:table-row> <fo:table-cell number-rows-spanned="4"> <fo:block> <fo:external-graphic src="{{ logo }}" content-width="3.5cm" /> </fo:block> </fo:table-cell> <fo:table-cell number-columns-spanned="2"> <fo:block font-weight="bold">{{ senderAddress.firm }}</fo:block> </fo:table-cell> </fo:table-row> <fo:table-row> <fo:table-cell number-columns-spanned="2" padding-bottom="0.1cm"> <fo:block>{{ senderAddress.street }}</fo:block> </fo:table-cell> </fo:table-row> </fo:table-body> </fo:table>

Tabellen Das Attribut table-layout bestimmt, ob die Tabelle eine feste Spaltenbreite hat, oder diese sich automatisch an den Inhalt anpasst. Unser derzeitiger Prozessor Apache FOP unterstützt leider nur den Wert fixed, der eine feste Spaltenbreite erzeugt.

Prozessoren Mittels Prozessoren wird aus XSL:FO ein gestaltetes Dokument. der Prozessor ist entscheident für die Möglichkeiten in XSL:FO. Apache FOP + kostenlos + wird bei OFCS verwendet – wird nicht weiterentwickelt – nur wenig Unterstützung für Darstellungsoptionen

Prozessoren Antenna House Formatter – (ziemlich hohe) Lizenzgebühren + unterstützt CSS + wird weiterentwickelt Ecrion – Lizenzgebühren + viele Ausgabeformate (PDF, PowerPoint, HTML, Word) + wird weiterentwickelt + großflächige Unterstützung von weiteren Technologien (Maps, Charts, SVG)

Hübsch machen – geht das? JEIN © 2013 Antonia Ilski

Layouts sind nur rudimentär möglich, so wie damals 1999, als Webseiten noch im table-Layout gestaltet wurden. Jedes Element unterstützt verschiedene Gestaltungsattribute, um etwas aufgehübscht zu werden. background-attachment · border-before-color · border-before-style · border-be padding-after · font-family · font-size · font-style · font-weight · margin-t start-indent · relative-position · display-align · … ·

Linksammlung W3C W3Schools Apache FOP

Add a comment

Related presentations

Consent Form 2014 SW FL Rheem Team Peopleʼs Choice Scholar-Athlete Giveaway

This sample California Irrevocable Trust has a specific provision that states that...

This sample California motion to compel attendance at deposition and produce docum...

A really simple time management chart that we all use and love. We hope you find i...

Related pages

Extensible Stylesheet Language – Formatting Objects ...

XSL-FO (Extensible Stylesheet Language – Formatting Objects) ist eine XML-Anwendung, die beschreibt, wie Text, Bilder, Linien und andere grafische ...
Read more

data2type GmbH: XML-Technologien | XSL-FO | Einführung in ...

Auf dieser Seite finden Sie Informationen zu XSL-FO, der Sprache für Seitengestaltung und Umbruch, sowie Anwendungsbeispiele.
Read more

xsl-fo.com - Jung Crossmedia Publishing GmbH

Satz >> Bild >> SGML / XML >> formerSuite >> Consulting / Schulung ...
Read more

Extensible Stylesheet Language – Wikipedia

Umfang. Zu XSL gehören. das XML-basierte eigentliche XSL (zur Unterscheidung genannt XSL-Formatting Objects, XSL-FO) für die Beschreibung eines Dokuments ...
Read more

XSL Formatting Objects - Wikipedia

XSL-FO (XSL Formatting Objects) is a markup language for XML document formatting that is most often used to generate PDF files. XSL-FO is part of XSL ...
Read more

Apache(tm) FOP: XSL-FO Input

Apache™ FOP: XSL-FO Input¶ Basic Help for Using XML, XSLT, and XSL-FO. Overview¶ Apache™ FOP uses XSL-FO as input. It is the responsibility of the ...
Read more

XSL-FO (Extensible Stylesheet Language – Formatting ...

XSL-FO (Extensible Stylesheet Language - Formatting Objects) ist eine auf XML basierende Auszeichnungssprache, die beschreibt, wie Text, Bilder, Linie und ...
Read more

The Extensible Stylesheet Language Family (XSL)

an expression language used by XSLT (and many other languages) to access or refer to parts of an XML document; XSL Formatting Objects (XSL-FO) an XML ...
Read more

data2type GmbH: XSL-FO | Einführung in die Sprache für ...

1. Schnellstart. Eine XSL-FO-Datei hat immer das gleiche Grundgerüst. Das Wurzelelement heißt . Kindelemente sind ein Read more

XSL, XSLT, XSL-FO, FOP - torsten-horn.de

Transformation mit XSL nach XML mit Sortierung, XSLT-Bedingungen und XPath-Ausdrücken. Ein sehr einfaches, aber korrektes Prinzip-Beispiel für die ...
Read more