Czynności do wykonania
1. Generacja metryk
2. Ustawienie konfiguracji czcionek
3. Załadowanie konfiguracji czcionek
4. Ustawienie w szablonie wartości family-font nazwą czcionki, dla której wygenerowano metryki
Realizacja:
1. W katalogu głownym FOPa wykonujemy przykładowe polecenia, w celu wygenerowania metryk dla czcionki Arial oraz jej odmian (pogrubiona, pochylona, itp)
java -cp build\fop.jar;lib\avalon-framework.jar;lib\commons-logging-1.0.4.jar;lib\commons-io-1.3.1.jar;lib\xmlgraphics-commons-1.3.1.jar org.apache.fop.fonts.apps.TTFReader C:\WINDOWS\Fonts\arial.TTF arial.xml
java -cp build\fop.jar;lib\avalon-framework.jar;lib\commons-logging-1.0.4.jar;lib\commons-io-1.3.1.jar;lib\xmlgraphics-commons-1.3.1.jar org.apache.fop.fonts.apps.TTFReader C:\WINDOWS\Fonts\ARIALBD.TTF ARIALBD.xml
java -cp build\fop.jar;lib\avalon-framework.jar;lib\commons-logging-1.0.4.jar;lib\commons-io-1.3.1.jar;lib\xmlgraphics-commons-1.3.1.jar org.apache.fop.fonts.apps.TTFReader C:\WINDOWS\Fonts\ARIALBI.TTF ARIALBI.xml
java -cp build\fop.jar;lib\avalon-framework.jar;lib\commons-logging-1.0.4.jar;lib\commons-io-1.3.1.jar;lib\xmlgraphics-commons-1.3.1.jar org.apache.fop.fonts.apps.TTFReader C:\WINDOWS\Fonts\ARIALI.TTF ARIALI.xml
2. Utworzenie przykładowego pliku zkonfuguracją czcnioek (fonts.xsl)
<?xml version="1.0"?>
<fop version="1.0">
<base>.</base>
<source-resolution>72</source-resolution>
<target-resolution>72</target-resolution>
<default-page-settings height="297mm" width="210mm"/>
<renderers>
<renderer mime="application/pdf">
<filterList>
<value>flate</value>
</filterList>
<fonts>
<font metrics-url="C:/Documents and Settings/pkarpik/Pulpit/fop-0.95/arial.xml" kerning="yes" embed-url="C:/WINDOWS/Fonts/arial.TTF">
<font-triplet name="arial" style="normal" weight="normal"/>
</font>
<font metrics-url="C:/Documents and Settings/pkarpik/Pulpit/fop-0.95/ARIALBD.xml" kerning="yes" embed-url="C:/WINDOWS/Fonts/ARIALBD.TTF">
<font-triplet name="arial" style="normal" weight="bold"/>
</font>
<font metrics-url="C:/Documents and Settings/pkarpik/Pulpit/fop-0.95/ARIALBI.xml" kerning="yes" embed-url="C:/WINDOWS/Fonts/ARIALBI.TTF">
<font-triplet name="arial" style="italic" weight="bold"/>
</font>
<font metrics-url="C:/Documents and Settings/pkarpik/Pulpit/fop-0.95/ARIALI.xml" kerning="yes" embed-url="C:/WINDOWS/Fonts/ARIALI.TTF">
<font-triplet name="arial" style="italic" weight="normal"/>
</font>
</fonts>
</renderer>
<renderer mime="application/postscript">
</renderer>
<renderer mime="application/vnd.hp-PCL">
</renderer>
<renderer mime="image/svg+xml">
<format type="paginated"/>
<link value="true"/>
<strokeText value="false"/>
</renderer>
<renderer mime="application/awt">
</renderer>
<renderer mime="image/png">
</renderer>
<renderer mime="image/tiff">
</renderer>
<renderer mime="text/xml">
</renderer>
<renderer mime="text/plain">
<pageSize columns="80"/>
</renderer>
</renderers>
</fop>
3. Załadowanie konfiguracji czcionek
FopFactory fopFactory = FopFactory.newInstance();4. Ustawienie w szablonie wartości family-font nazwą czcionki, dla której wygenerowano metryki
DefaultConfigurationBuilder cfgBuilder = new DefaultConfigurationBuilder();
File file = new File("C:/Documents and Settings/pkarpik/workspace/Fop/src/fop/tutorial/fon.xsl");
Configuration cfg = cfgBuilder.buildFromFile(file);
fopFactory.setUserConfig(cfg);
<fo:block font-family="arial"></fo:block>
Źródła:
http://xmlgraphics.apache.org/fop/0.94/fonts.html
http://blog.dosiek.pl/?p=31
http://old.nabble.com/Embed-Fonts-in-PDF-using-Java-td26112969.html
Bardzo pomocny tutorial.
OdpowiedzUsuńUdało mi się wyświetlić polskie czcionki :)
Dzięki,
Paweł
mi też pomogło:)
OdpowiedzUsuńdzięki,
Krzysiek