07 FO Wydruk


XSL FO
dr inż. Wioleta Szwoch
1
Dlaczego korzystamy z FO?
" Potrzeba tworzenia profesjonalnie drukowanych
dokumentów
" Kontrola nad każdym aspektem wyglądu strony
 marginesy,
 nagłówki,
 czcionka,
 &
2
XSL FO - Formatting Objects
" dokładny opis prezentacji danych, które są ujmowane w
ramy strony o określonych wymiarach
" poprawny dokument XML
" struktura hierarchiczna
" zorientowany na wydruk
" brak oddzielenia treści od sposobu prezentacji
" przestrzeń nazw: http://www.w3.org/1999/XSL/Format
" standardowy prefiks: fo
" 56 obiektów (znaczników) formatujących i 177 własności
(atrybuty)
" możliwość wizualizacji w pdf, rtf,&
3
Tworzenie dokumentów XSL FO
" bezpośrednie utworzenie opisu prezentacji wraz z
zawartymi danymi
 mała ilość danych
 trudności w przypadku dokonywania zmian
 trudno wykorzystać inny zestaw danych
" zastosowanie dokumentu transformacji
 oddzielenie danych i sposobu prezentacji
 możliwość wykorzystania do różnych zestawów
danych
4
Przykłady
& &
& &


font-size="28pt" font-weight="bold"> font-family="Times" font-style="italic">
font-size="28pt" font-weight="bold"> font-family="Times" font-style="italic">
Planeta: Merkury Planeta:
Planeta: Merkury Planeta:



font-size="28pt" font-weight="bold">
font-size="28pt" font-weight="bold">


Planeta: Wenus
Planeta: Wenus
&
&


font-size="28pt" font-weight="bold">
font-size="28pt" font-weight="bold">
Planeta: Ziemia
Planeta: Ziemia


&
&
5
6
Budowa dokumentu FO
deklaracja XML




...
...


deklaracja przestrzeni nazw
korzeń drzewa dokumentu
7
FO budowa dokumentu
" Struktura dokumentu składa się:
 Zarządcy układów stron (layout-master-set)
" Opisów rodzajów stron, które mogą pojawić się w
dokumencie  szablony stron(simple-page-master)
" Sekwencji, w jakiej strony mogą się pojawiać
(page-sequence-master)
 Stron i ich zawartości (page-sequence)
8
FO struktura dokumentu



&


&


9
FO struktura dokumentu
" fo:layout-master-set
 definiuje szablony określające własności tworzonych
stron
 wszystkie opisy nadrzędne dokumentu
" fo:page-sequence
 zawiera treść wraz ze sposobem prezentacji
10
FO struktura dokumentu
" fo:layout-master-set
 Zawiera wszystkie opisy nadrzędne dokumentu
 fo:simple-page-master
" Szablon mający niepowtarzalną nazwę
" Opisuje układ i geometrię strony
" Możliwe atrybuty
 margin-left, &
 master-name
 page-height,&
 reference-orientation
 writing-mode
" ma elementy potomne opisujące jeden lub więcej obszarów strony, dzięki
czemu można szczegółowo opisać rozkład treści
11
FO struktura dokumentu






margin-bottom="10mm" margin-top="10mm" page-width="300mm"
margin-bottom="10mm" margin-top="10mm" page-width="300mm"
page-height="400mm" master-name="NazwaStronyNpOkladka">
page-height="400mm" master-name="NazwaStronyNpOkladka">
margin-bottom="10mm" margin-top="0mm"/>
margin-bottom="10mm" margin-top="0mm"/>






...
...


12
FO struktura dokumentu
" fo:page-sequence-master
 fo:repeatable-page-master-alternatives
" Pozwala na definiowanie warunków przypisujących szablony do
poszczególnych stron
" fo:conditional-page-master-reference
 Pojedynczy warunek
 master-name
Wskazuje szablon
 page-position
first, last, rest, any
 odd-or-even
warunki
odd, even (nieparzysta)
 blank-or-not-blank
blank, not-blank
13
FO struktura dokumentu
" fo:page-sequence
 Umieszcza się tutaj
" treść
 tekst, obiekt graficzny
" sposób prezentacji
 fo:title
" zawiera tekst reprezentujący tytuł dokumentu
 fo:static-content
" zawiera stały tekst, wyświetlany na wszystkich stronach
 Nagłówek, stopka, &
 fo:flow
" występuje tylko raz
" zawiera dane, które mają zostać wyświetlone
14
FO struktura dokumentu





&
&



&
&




15
FO struktura dokumentu
" flow-name
 atrybut występujący w fo:title, fo:static-content,
fo:flow
 docelowe miejsce dla tekstu, określa przynależność do
region-before
wybranego regionu
region-body
 Przyjmowane wartości
" xsl-region-before
" xsl-region-after
region-end
region-start
" xsl-region-start
" xsl-region-end
" xsl-region-body
16
region-after
FO struktura dokumentu
" fo:block
 prostokątne obszary, w których wyświetlane są treści
dokumentu
 możliwość korzystania z wielu atrybutów
" Charakterystyka czcionki
 font-family, font-size, &
" Obramowanie, wypełnienie, tło
 background-image, background-repeat, border-before-color,&
" Ustawienia związane z dzieleniem wyrazów
 country, language,&
 może zawierać paragrafy, listy, inne bloki
17
18
FO struktura dokumentu




&
&




line-height="48pt" font-size="36pt" font-weight="bold">
line-height="48pt" font-size="36pt" font-weight="bold">
Tabela planet
Tabela planet


line-height="48pt" font-size="28pt" font-weight="bold">
line-height="48pt" font-size="28pt" font-weight="bold">
Planeta: Merkury
Planeta: Merkury


...
...


19
Obiekty inline
" reprezentują fragmenty większych obszarów (np. bloków)
" właściwości fo:inline
 dotyczące danych
" role, source-document
 głosowe
" azimuth, cue-after, cue-before, elevation, pause-after, pause-before, pitch, pitch-range, play-
during, richness, speak, speak-header, speak-numeral, speak-punctuation, speech-rate, voice-
family, volume, stress
 obramowanie, wypełnienie, tło
" background-attachment, background-color, background-image, background-repeat,
background-position-horizontal, background-position-vertical, border-after-color, border-after-
style, border-after-width, border-before-color, border-before-style, border-before-width,
border-bottom-color, border-bottom-style, border-bottom-width, border-end-color, border-end-
style, border-end-width, border-left-color, border-left-style, border-left-width, border-right-
color, border-right-style, border-right-width, border-start-color, border-start-style, border-start-
width, border-top-color, border-top-style, border-top-width, padding-after, padding-before,
padding-bottom, padding-end, padding-left, padding-right, padding-start, padding-top
 definicje czcionek
" font-family, font-selection-strategy, font-size, font-size-adjust, font-stretch, font-style, font-
variant, font-weight
 właściwości marginesów
" space-end, space-start
 pozostałe
" alignment-adjust, alignment-baseline, baseline-shift, block-progression-dimension, bottom,
color, dominant-baseline, height, id, inline-progression-dimension, keep-together, keep-with-
next, keep-with-previous, left, line-height, margin-bottom, margin-left, margin-right, margin-
top, relative-position, right, text-decoration, top, visibility, width, wrap-option
20
XSL FO - struktura strony
margin-top
region-before
region-body
margin-left
region-end
region-start
margin-right
block
line
region-after
inline
margin-bottom
21
FO tabele
" fo:table
 Obejmuje całą tabelę
 fo:table-body
" Opisuje treść tabeli
" fo:table-row
 fo:table-cell opisuje poszczególne komórki z danymi
 Możliwość ustawienia różnorodnych atrybutów dla elementów
" Dokładniejszy sposób prezentacji
 atrybuty określające czcionkę, właściwości tekstu, justowanie, ramki
" number-rows-spanned i number-columns-spanned
 atrybuty należące do elementu fo:table-cell
 pozwalają na łączenie wierszy oraz kolumn
22


1 - 2


3 - 5




1 - 2 - 3  4


5


23
FO listy
Tu umieszczona cała lista
Poszczególne pozycje listy
Dane umieszczane na liście
Do wyróżnienia pozycji listy
24
FO listy



1

Pierwszy element listy



2

Drugi element listy



*

Trzeci element listy




25
FO obiekty graficzne
" Grafika standardowa (jpeg, gif)






" Obiekty graficzne XML (SVG, MathML)














26
FO linie rozdzielające


" fo:leader

Tekst przed pierwszą linią rozdzielającą
 leader-alignment


 leader-length
 leader-pattern
rule-thickness="2pt" color="green"/>

 leader-pattern-width

Tekst między dwiema liniami rozdzielającymi
 rule-style


 rule-thickness
rule-thickness="4pt" color="red"/>
 typowe atrybuty: np. kolor



27
FO przypisy
"

" treść przypisu
" elementy te nie mają żadnych atrybutów
28
FO przypisy
Procesor FO nie dodaje automatycznie do
treści przypisów numerów, więc trzeba to

robić samemu
Ten

przypis

1




1. Treść pierwszego przypisu.



dotyczy tekstu na dole strony.

29
Cechy interaktywne, dzwiękowe
" W standardzie FO przewidywano różne media
wyjściowe
 ekran
 wydruk
 dzwięk
" Standard zawiera elementy
 służące do sterowania dzwiękiem
" barwą lub natężeniem głosu, pauzami, ...
 interaktywne
" do definiowania łączników
" Istniejące implementacje  dokumenty drukowane
30
Procesory XSL FO
" FOP
 http://xml.apache.org/fop
" TeXML
 Konwertuje dokumenty XML do TeX
" UFO
 procesor napisany w C++; potrafi generować dokument
wyjściowy między innymi w formacie pdf, PostScript
" SAXESS Wave
 konwertuje z XML do Showave/Flash
" PassiveTeX
 z XML FO do pdf
31
XSL FO
dokument
procesor
Dokument
XML
XSLT
XSL:FO
Dokument
procesor
XSLT
XSL:FO
Dokument
PDF
32
Transformacja do formatu PDF
" FOP (Formatting Object to PDF)
" Tworzenie pliku PDF
 bezpośrednio
" Fop -fo linie.fo -pdf linie.pdf
 pośrednio
" Fop -xsl planety.xsl -xml planety.xml -pdf planety.pdf
" Polskie znaki diakrytyczne
33


Wyszukiwarka

Podobne podstrony:
07 Charakteryzowanie budowy pojazdów samochodowych
9 01 07 drzewa binarne
02 07
str 04 07 maruszewski
07 GIMP od podstaw, cz 4 Przekształcenia
07 Komórki abortowanych dzieci w Pepsi
wydruk
07 Badanie „Polacy o ADHD”
CKE 07 Oryginalny arkusz maturalny PR Fizyka
07 Wszyscy jesteśmy obserwowani
R 05 07
07 kaertchen wortstellung hs

więcej podobnych podstron