Hack 47 Generate PDF Documents from XML and CSS

figs/moderate.gif figs/hack47.gif

Produce PDF documents for XML documents styled with CSS using YesLogic Prince.

YesLogic (http://yeslogic.com/) of Melbourne, Australia offers an extremely simple little tool for converting XML documents styled with CSS into Portable Document Format (PDF) or PostScript (PS). It's called Prince and it's now at Version 3.1. It runs on Windows or Red Hat Linux (Versions 7.3 and 8.0). Prince comes with a set of examples, default stylesheets, and DTDs. This hack demonstrates Version 3.0, which is similar to 3.1.

You can download a free version (personal license) from http://yeslogic.com/prince/demo/. This demo is fully featured, but outputs a link on output pages.

After downloading and installing Prince, open the application and follow these steps:

  1. Choose Documents Add and then select the document time.xml from the directory of working examples.

  2. Choose Stylesheets Add and select time.css from the same location.

  3. Select the Output menu and click on PDF if it isn't already checked.

  4. Click Go, and Prince produces a PDF based on time.xml combined with time.css. The application should look like Figure 3-24.

  5. Select time.pdf in the lower-left pane and right-click on it. If Adobe Reader (Version 6.0 or greater) is installed on your computer, you should be able to open time.pdf with it. If it is not installed, get a free copy from http://www.adobe.com/products/acrobat/readstep2.html. Figure 3-25 shows you time.pdf in Adobe Reader Version 6.0.

Figure 3-24. YesLogic Prince after converting time.xml styled with time.css into time.pdf

Figure 3-25. time.pdf in Adobe Reader 6