blob: 558ded9e0b2bf3b3d47a8f4d719eb638ae32b98d [file] [log] [blame]
Andrew Geissler4873add2020-11-02 18:44:49 -06001#!/bin/sh
2
3if [ -z "$1" -o -z "$2" ]; then
4 echo "usage: [-v] $0 <docbook file> <templatedir>"
5 echo
6 echo "*NOTE* you need xsltproc, fop and nwalsh docbook stylesheets"
7 echo " installed for this to work!"
8 echo
9 exit 0
10fi
11
12FO=`echo $1 | sed s/.xml/.fo/` || exit 1
13PDF=`echo $1 | sed s/.xml/.pdf/` || exit 1
14TEMPLATEDIR=$2
15
16##
17# These URI should be rewritten by your distribution's xml catalog to
18# match your localy installed XSL stylesheets.
19XSL_BASE_URI="http://docbook.sourceforge.net/release/xsl/current"
20
21# Creates a temporary XSL stylesheet based on titlepage.xsl
22xsltproc -o /tmp/titlepage.xsl \
23 --xinclude \
24 $XSL_BASE_URI/template/titlepage.xsl \
25 $TEMPLATEDIR/titlepage.templates.xml || exit 1
26
27# Creates the file needed for FOP
28xsltproc --xinclude \
29 --stringparam hyphenate false \
30 --stringparam formal.title.placement "figure after" \
31 --stringparam ulink.show 1 \
32 --stringparam body.font.master 9 \
33 --stringparam title.font.master 11 \
34 --stringparam draft.watermark.image "$TEMPLATEDIR/draft.png" \
35 --stringparam chapter.autolabel 1 \
36 --stringparam appendix.autolabel A \
37 --stringparam section.autolabel 1 \
38 --stringparam section.label.includes.component.label 1 \
39 --output $FO \
40 $TEMPLATEDIR/db-pdf.xsl \
41 $1 || exit 1
42
43# Invokes the Java version of FOP. Uses the additional configuration file common/fop-config.xml
44fop -c $TEMPLATEDIR/fop-config.xml -fo $FO -pdf $PDF || exit 1
45
46rm -f $FO
47rm -f /tmp/titlepage.xsl
48
49echo
50echo " #### Success! $PDF ready. ####"
51echo