summaryrefslogtreecommitdiff
path: root/documentation/tools/poky-docbook-to-pdf
blob: f55fd278afc86bb841d37f4c7a58c4fecbf0633e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/bin/sh
	
if [ -z "$1" -o -z "$2" ]; then
   echo "usage: [-v] $0 <docbook file> <templatedir>"
   echo
   echo "*NOTE* you need xsltproc, fop and nwalsh docbook stylesheets" 
   echo "       installed for this to work!"
   echo
   exit 0
fi

FO=`echo $1 | sed s/.xml/.fo/` || exit 1
PDF=`echo $1 | sed s/.xml/.pdf/` || exit 1
TEMPLATEDIR=$2

##
# These URI should be rewritten by your distribution's xml catalog to
# match your localy installed XSL stylesheets.
XSL_BASE_URI="http://docbook.sourceforge.net/release/xsl/current"

# Creates a temporary XSL stylesheet based on titlepage.xsl
xsltproc -o /tmp/titlepage.xsl                                           \
	 --xinclude                                                      \
         $XSL_BASE_URI/template/titlepage.xsl \
         $TEMPLATEDIR/titlepage.templates.xml || exit 1

# Creates the file needed for FOP
xsltproc --xinclude                    \
	 --stringparam hyphenate false \
	 --stringparam formal.title.placement "figure after" \
	 --stringparam ulink.show 1 \
         --stringparam  body.font.master  9 \
         --stringparam  title.font.master  11 \
         --stringparam draft.watermark.image "$TEMPLATEDIR/draft.png" \
         --stringparam  chapter.autolabel 1 \
         --stringparam  appendix.autolabel A \
         --stringparam  section.autolabel 1 \
         --stringparam  section.label.includes.component.label 1 \
         --output $FO               \
         $TEMPLATEDIR/poky-db-pdf.xsl    \
	 $1                 || exit 1

# Invokes the Java version of FOP.  Uses the additional configuration file common/fop-config.xml
fop -c $TEMPLATEDIR/fop-config.xml -fo $FO -pdf $PDF       || exit 1

rm -f $FO
rm -f  /tmp/titlepage.xsl

echo
echo " #### Success! $PDF ready. ####"
echo