Potřebujete pomoci s XSL-FO?
Nabízím školení, konzultace, vývoj tiskových šablon na zakázku. Nevájte a kontaktujte mne.

Podpořte provoz stránek
Platba probíhá pomocí služby PayPal a je možné platit kartou nebo převodem z vašeho PayPal účtu.

Kapitola 7. Instalace

7.1. XEP
7.1.1. České fonty
7.1.2. České vzory dělení
7.2. FOP
7.2.1. Základní instalace
7.2.2. Přidání české podpory
7.3. XSL Formatter
7.4. Ibex PDF Creator
7.5. Xinc
7.6. Altsoft Xml2PDF

V následujícím textu se podíváme na instalaci nejpoužívanějších XSL FO procesorů. Budeme se věnovat především jejich úpravě pro české prostředí – přidání podpory pro české fonty a české dělení slov.

7.1 XEP

FO procesor od firmy RenderX, napsaný v Javě. Ze stránek firmy si lze zdarma stáhnout osobní verzi, která je určena pro nekomerční účely a na konec každé stránky vloží krátký propagační text. Plně funkční verze lze zakoupit na http://www.renderx.com/download/shop.html. Pro použití v akademickém prostředí je plně funkční verze k dispozici rovněž zdarma.

7.1.1 České fonty

Standardní distribuce XEPu nepodporuje všechny české znaky, protože nejsou obsaženy ve sadě základních písem používaných ve formátu PDF. Je proto potřeba do XEPu doplnit písma, která tyto znaky obsahují. Mezi taková písma patří například většina TrueType/OpenType fontů, které jsou součástí OS Windows. Pokud používáte jiný systém než Windows, můžete si tyto fonty stáhnout z adresy http://corefonts.sf.net/.

V konfiguračním souboru xep.xml musí být definována všechna písma, která XEP vidí.

<font-group xml:base="file:/C:/Windows/Fonts/" label="Windows TrueType" embed="true" subset="true"> 
  <font-family name="Arial">
    <font><font-data ttf="arial.ttf"/></font>
    <font style="oblique"><font-data ttf="ariali.ttf"/></font>
    <font weight="bold"><font-data ttf="arialbd.ttf"/></font>
    <font weight="bold" style="oblique"><font-data ttf="arialbi.ttf"/></font>
  </font-family>

Důležité je nastavit správně cestu k adresáři s fonty (atribut xml:base) a pro české fonty musíme zapnout jejich vkládání do PDF (embed="true"). Volba subset="true" zajistí, že se font nebude vkládat celý, ale jen obrysy skutečně použitých písmen, a tím se zmenší velikost PDF souboru.

7.1.2 České vzory dělení

XEP používá stejné popisy dělení slov jako TeX. Jejich přidání je velmi jednoduché.

Na adrese http://www.kosek.cz/sw/xep/xep4.zip je k dispozici ukázkový konfigurační soubor, který obsahuje definici základních českých písem i definici českých vzorů dělení slov. Archiv stačí rozbalit do adresáře s instalací XEPu a případně opravit cestu k adresáři s českými TTF písmy.

České vzory dělení slov jsou definovány v souboru hyphen/czhyphen.il2. Aby XEP tyto vzory načetl musíme na ně přidat odkaz do konfiguračního souboru xep.xml:

<languages><language name="Czech" codes="cs cze">
    <hyphenation pattern="czhyphen.il2" encoding="iso-8859-2"/>
  </language></languages>

Definice říká, že pro pro češtinu (jazykový kód cs) se použijí vzory dělení ze souboru czhyphen.il2, který je v kódování iso-8859-2.

7.2 FOP

FOP je open-source procesor od sdružení Apache – http://xml.apache.org/fop/ napsaný v Javě.

7.2.1 Základní instalace

  1. Stáhneme binární distribuci FOPu z adresy http://xmlgraphics.apache.org/fop/download.html – soubor fop-0.95-bin.zip.

  2. Soubor fop-0.95-bin.zip rozbalíme do nějakého adresáře, třeba c:\xslfo\fop.

  3. FOP nyní můžeme spouštět pomocí příkazu c:\xslfo\fop\fop. Pro časté používání je vhodné přidat adresář c:\xslfo\fop do cesty, aby šlo FOP spouštět přímo příkazem fop.

7.2.2 Přidání české podpory

Standardní verze podobně jako XEP neobsahuje podporu pro sazbu českých znaků. Kvůli licenčním omezením jsou vzory dělení distribuovány seperátně na adrese http://sourceforge.net/projects/offo.

  1. Stáhněte si soubor http://www.kosek.cz/sw/fop/fop-cs2.zip a rozbalte jej do adresáře, ve kterém je nainstalován FOP (typicky např. c:\xslfo\fop).

    Soubor obsahuje metriky pro základní české TTF fonty.

  2. Při spouštění FOPu musíte určit cestu ke konfiguračnímu souboru s odkazy na metriky českých fontů. FOP je nutné spouštět s parametrem -c c:\xslfo\fop\conf\myfop.xconf (adresář c:\xslfo\fop upravte podle skutečného umístění FOPu).

  3. V souboru conf/myfop.xconf upravte cesty na začátku souboru tak, aby ukazovaly na adresář s instalací FOPu a na adresář, kde máte TTF fonty:

    <!ENTITY fop.home "file:///c:/xslfo/fop">
    <!ENTITY fonts.dir "file:///c:/windows/fonts">

    Pokud používáte Linux a nemáte české TTF fonty, můžete si je stáhnout z adresy http://corefonts.sourceforge.net/.

7.3 XSL Formatter

Opět komerční FO procesor, který ve své zkušební verzi doplní na každou stránku reklamní odkaz. Standardně podporuje zobrazování českých znaků. K dispozici je na adrese http://www.antennahouse.com/.

Chceme-li, aby AXF i slova dělilo, můžeme si pořídit speciální plugin pro dělení slov.

7.4 Ibex PDF Creator

Ibex je komerční procesor FO. Instalace a spuštění je velice jednoduché, jedná se o jeden JAR archiv.

Ibex neumí dělit slova, informace o konfiguraci fontů je možné uloži do souboru ibexconfig.xml v následujícím tvaru:

<?xml version="1.0" encoding="UTF-8"?>
<ibexconfig>
  <font bold="false" italic="false" file="c:/windows/fonts/times.ttf" name="TimesNewRoman"/>
  <font bold="false" italic="false" file="c:/windows/fonts/times.ttf" name="serif"/>
  <font bold="false" italic="true" file="c:/windows/fonts/timesi.ttf" name="TimesNewRoman"/>
  <font bold="false" italic="true" file="c:/windows/fonts/timesi.ttf" name="serif"/>
  <font bold="true" italic="true" file="c:/windows/fonts/timesbi.ttf" name="TimesNewRoman"/>
  <font bold="true" italic="true" file="c:/windows/fonts/timesbi.ttf" name="serif"/>
  <font bold="true" italic="false" file="c:/windows/fonts/timesbd.ttf" name="TimesNewRoman"/>
  <font bold="true" italic="false" file="c:/windows/fonts/timesbd.ttf" name="serif"/></ibexconfig>

Cestu ke konfiguračnímu souboru musíme pak určit při spouštění programu:

java -cp c:\xslfo\ibex\ibex-4.5.4.jar -Dibexconfig=c:\xslfo\ibex\ibexconfig.xml ibex.Run parametry

7.5 Xinc

Komerční formátovač Xinc pro generování PDF používá FOP, takže asi není moc důvodů jej používat. Konfigurace češtiny je podobná jako pro FOP.

7.6 Altsoft Xml2PDF

Komerční formátovač Xml2PDF standardně obsahuje české a slovenské vzory dělení slov, sám umí najít i české TTF fonty.

© Jiří Kosek 2014

Tento dokument je určen výhradně pro osobní potřebu seznámení se s technologií XSL-FO. Jakékoliv jiné použití, včetně dalšího šíření, pořizování kopií, použití při školeních a výuce apod. je výslovně zakázáno a bude považováno za porušení autorských práv.

Dokument je zkrácenou verzí školicích materiálů používaných během školení XSL-FO.


Copyright © 2002-2015 Jiří Kosek