| 1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
|---|
| 2 | <html>
|
|---|
| 3 | <head>
|
|---|
| 4 | <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
|---|
| 5 | <title>FOP FAQ</title>
|
|---|
| 6 | <link type="text/css" href="skin/page.css" rel="stylesheet">
|
|---|
| 7 | </head>
|
|---|
| 8 | <body text="#000000" bgcolor="#FFFFFF">
|
|---|
| 9 | <!--================= start Navigation Path ==================-->
|
|---|
| 10 | <table summary="navigation path" width="100%" border="0" cellpadding="0" cellspacing="0">
|
|---|
| 11 | <tr>
|
|---|
| 12 | <td nowrap="nowrap" valign="middle" bgcolor="#CFDCED" height="20"><img height="1" width="5" alt="" border="0" src="skin/images/spacer.gif"><!--===== breadcrumb trail (javascript-generated) ====--><font size="2" face="Arial, Helvetica, Sans-serif"><script src="skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script></font></td>
|
|---|
| 13 | </tr>
|
|---|
| 14 | <tr>
|
|---|
| 15 | <td bgcolor="#4C6C8F" height="2"><img height="2" width="2" alt="" border="0" src="skin/images/spacer.gif"></td>
|
|---|
| 16 | </tr>
|
|---|
| 17 | </table>
|
|---|
| 18 | <!--================= end Navigation Path ==================-->
|
|---|
| 19 | <!--================= start Banner ==================-->
|
|---|
| 20 | <table summary="header with logos" width="100%" border="0" cellpadding="0" cellspacing="0">
|
|---|
| 21 | <tr>
|
|---|
| 22 | <!--================= start Group Logo ==================-->
|
|---|
| 23 | <td bgcolor="#294563"><a href="http://xml.apache.org/"><img border="0" class="logoImage" alt="Apache XML" src="images/group-logo.gif"></a></td>
|
|---|
| 24 | <!--================= end Group Logo ==================-->
|
|---|
| 25 | <!--================= start Project Logo ==================--><td width="100%" align="center" bgcolor="#294563"><a href="http://xml.apache.org/fop/"><img border="0" class="logoImage" alt="FOP" src="images/logo.jpg"></a></td>
|
|---|
| 26 | <!--================= end Project Logo ==================-->
|
|---|
| 27 | <!--================= start Search ==================--><td valign="top" rowspan="2" bgcolor="#294563">
|
|---|
| 28 | <form target="_blank" action="http://www.google.com/search" method="get">
|
|---|
| 29 | <table summary="search" border="0" cellspacing="0" cellpadding="0" bgcolor="#4C6C8F">
|
|---|
| 30 | <tr>
|
|---|
| 31 | <td colspan="3"><img height="10" width="1" alt="" src="skin/images/spacer.gif"></td>
|
|---|
| 32 | </tr>
|
|---|
| 33 | <tr>
|
|---|
| 34 | <td><img height="1" width="1" alt="" src="skin/images/spacer.gif"></td><td nowrap="nowrap"><input value="xml.apache.org" name="sitesearch" type="hidden"><input size="15" name="q" id="query" type="text"><img height="1" width="5" alt="" src="skin/images/spacer.gif"><input name="Search" value="Search" type="submit">
|
|---|
| 35 | <br>
|
|---|
| 36 | <font face="Arial, Helvetica, Sans-serif" size="2" color="white">
|
|---|
| 37 | the Apache XML site
|
|---|
| 38 |
|
|---|
| 39 |
|
|---|
| 40 | </font></td><td><img height="1" width="1" alt="" src="skin/images/spacer.gif"></td>
|
|---|
| 41 | </tr>
|
|---|
| 42 | <tr>
|
|---|
| 43 | <td><img alt="" border="0" height="10" width="9" src="skin/images/search-left.gif"></td><td><img height="1" width="1" alt="" src="skin/images/spacer.gif"></td><td><img alt="" border="0" height="10" width="9" src="skin/images/search-right.gif"></td>
|
|---|
| 44 | </tr>
|
|---|
| 45 | </table>
|
|---|
| 46 | </form>
|
|---|
| 47 | </td>
|
|---|
| 48 | <!--================= start Search ==================--><td bgcolor="#294563"><img height="10" width="10" alt="" src="skin/images/spacer.gif"></td>
|
|---|
| 49 | </tr>
|
|---|
| 50 | <tr>
|
|---|
| 51 | <td valign="bottom" bgcolor="#294563" colspan="2">
|
|---|
| 52 | <!--================= start Tabs ==================-->
|
|---|
| 53 | <div class="tab">
|
|---|
| 54 | <table summary="tab bar" border="0" cellpadding="0" cellspacing="0">
|
|---|
| 55 | <tr>
|
|---|
| 56 | <td width="8"><img alt="" height="8" width="8" src="skin/images/spacer.gif"></td><td valign="bottom">
|
|---|
| 57 | <table summary="selected tab" style="height: 1.7em" border="0" cellpadding="0" cellspacing="0">
|
|---|
| 58 | <tr>
|
|---|
| 59 | <td valign="top" width="5" bgcolor="#4C6C8F"><img height="5" width="5" alt="" src="skin/images/tabSel-left.gif"></td><td valign="middle" bgcolor="#4C6C8F"><font color="#ffffff" size="2" face="Arial, Helvetica, Sans-serif"><b><a href="index.html"><font color="#000000">Home</font></a></b></font></td><td valign="top" width="5" bgcolor="#4C6C8F"><img height="5" width="5" alt="" src="skin/images/tabSel-right.gif"></td>
|
|---|
| 60 | </tr>
|
|---|
| 61 | </table>
|
|---|
| 62 | </td><td width="8"><img alt="" height="8" width="8" src="skin/images/spacer.gif"></td><td valign="bottom">
|
|---|
| 63 | <table summary="non selected tab" style="height: 1.6em" border="0" cellpadding="0" cellspacing="0">
|
|---|
| 64 | <tr>
|
|---|
| 65 | <td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="skin/images/tab-left.gif"></td><td valign="middle" bgcolor="#B2C4E0"><a href="dev/index.html"><font face="Arial, Helvetica, Sans-serif">Development</font></a></td><td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="skin/images/tab-right.gif"></td>
|
|---|
| 66 | </tr>
|
|---|
| 67 | </table>
|
|---|
| 68 | </td>
|
|---|
| 69 | </tr>
|
|---|
| 70 | </table>
|
|---|
| 71 | </div>
|
|---|
| 72 | <!--================= end Tabs ==================-->
|
|---|
| 73 | </td><td bgcolor="#294563"><img alt="" width="1" height="1" src="skin/images/spacer.gif"></td>
|
|---|
| 74 | </tr>
|
|---|
| 75 | <tr>
|
|---|
| 76 | <td bgcolor="#4C6C8F" colspan="4"><img width="1" height="10" alt="" src="skin/images/spacer.gif"></td>
|
|---|
| 77 | </tr>
|
|---|
| 78 | </table>
|
|---|
| 79 | <!--================= end Banner ==================-->
|
|---|
| 80 | <!--================= start Menu, NavBar, Content ==================-->
|
|---|
| 81 | <table summary="page content" bgcolor="#ffffff" width="100%" border="0" cellpadding="0" cellspacing="0">
|
|---|
| 82 | <tr>
|
|---|
| 83 | <td valign="top">
|
|---|
| 84 | <table summary="menu" border="0" cellspacing="0" cellpadding="0">
|
|---|
| 85 | <tr>
|
|---|
| 86 | <!--================= start left top NavBar ==================-->
|
|---|
| 87 | <td rowspan="3" valign="top">
|
|---|
| 88 | <table summary="blue line" border="0" cellpadding="0" cellspacing="0">
|
|---|
| 89 | <tr>
|
|---|
| 90 | <td bgcolor="#294563"><img width="10" height="1" alt="" src="skin/images/spacer.gif"></td>
|
|---|
| 91 | </tr>
|
|---|
| 92 | <tr>
|
|---|
| 93 | <td bgcolor="#CFDCED"><font color="#4C6C8F" size="4" face="Arial, Helvetica, Sans-serif"> </font></td>
|
|---|
| 94 | </tr>
|
|---|
| 95 | <tr>
|
|---|
| 96 | <td bgcolor="#294563"><img width="10" height="1" alt="" src="skin/images/spacer.gif"></td>
|
|---|
| 97 | </tr>
|
|---|
| 98 | </table>
|
|---|
| 99 | </td>
|
|---|
| 100 | <!--================= end left top NavBar ==================--><td bgcolor="#294563"><img width="1" height="1" alt="" src="skin/images/spacer.gif"></td><td valign="bottom" bgcolor="#4C6C8F"><img width="10" height="10" alt="" src="skin/images/spacer.gif"></td><td nowrap="nowrap" valign="top" bgcolor="#4C6C8F">
|
|---|
| 101 | <!--================= start Menu items ==================-->
|
|---|
| 102 | <div class="menu">
|
|---|
| 103 | <ul>
|
|---|
| 104 | <li>
|
|---|
| 105 | <font color="#CFDCED">Home</font>
|
|---|
| 106 | <ul>
|
|---|
| 107 |
|
|---|
| 108 | <li>
|
|---|
| 109 | <a href="index.html">Introduction</a>
|
|---|
| 110 | </li>
|
|---|
| 111 |
|
|---|
| 112 | </ul>
|
|---|
| 113 | </li>
|
|---|
| 114 | <li>
|
|---|
| 115 | <font color="#CFDCED">Using FOP</font>
|
|---|
| 116 | <ul>
|
|---|
| 117 |
|
|---|
| 118 | <li>
|
|---|
| 119 | <a href="relnotes.html">Release Notes</a>
|
|---|
| 120 | </li>
|
|---|
| 121 |
|
|---|
| 122 | <li>
|
|---|
| 123 | <a href="download.html">Download</a>
|
|---|
| 124 | </li>
|
|---|
| 125 |
|
|---|
| 126 | <li>
|
|---|
| 127 | <a href="compiling.html">Build</a>
|
|---|
| 128 | </li>
|
|---|
| 129 |
|
|---|
| 130 | <li>
|
|---|
| 131 | <a href="configuration.html">Configure</a>
|
|---|
| 132 | </li>
|
|---|
| 133 |
|
|---|
| 134 | <li>
|
|---|
| 135 | <a href="running.html">Run</a>
|
|---|
| 136 | </li>
|
|---|
| 137 |
|
|---|
| 138 | <li>
|
|---|
| 139 | <a href="embedding.html">Embed</a>
|
|---|
| 140 | </li>
|
|---|
| 141 |
|
|---|
| 142 | <li>
|
|---|
| 143 | <a href="servlets.html">Servlets</a>
|
|---|
| 144 | </li>
|
|---|
| 145 |
|
|---|
| 146 | <li>
|
|---|
| 147 | <a href="anttask.html">Ant task</a>
|
|---|
| 148 | </li>
|
|---|
| 149 |
|
|---|
| 150 | </ul>
|
|---|
| 151 | </li>
|
|---|
| 152 | <li>
|
|---|
| 153 | <font color="#CFDCED">Features</font>
|
|---|
| 154 | <ul>
|
|---|
| 155 |
|
|---|
| 156 | <li>
|
|---|
| 157 | <a href="compliance.html">Compliance</a>
|
|---|
| 158 | </li>
|
|---|
| 159 |
|
|---|
| 160 | <li>
|
|---|
| 161 | <a href="output.html">Output Targets</a>
|
|---|
| 162 | </li>
|
|---|
| 163 |
|
|---|
| 164 | <li>
|
|---|
| 165 | <a href="pdfencryption.html">PDF encryption</a>
|
|---|
| 166 | </li>
|
|---|
| 167 |
|
|---|
| 168 | <li>
|
|---|
| 169 | <a href="graphics.html">Graphics</a>
|
|---|
| 170 | </li>
|
|---|
| 171 |
|
|---|
| 172 | <li>
|
|---|
| 173 | <a href="fonts.html">Fonts</a>
|
|---|
| 174 | </li>
|
|---|
| 175 |
|
|---|
| 176 | <li>
|
|---|
| 177 | <a href="hyphenation.html">Hyphenation</a>
|
|---|
| 178 | </li>
|
|---|
| 179 |
|
|---|
| 180 | <li>
|
|---|
| 181 | <a href="extensions.html">Extensions</a>
|
|---|
| 182 | </li>
|
|---|
| 183 |
|
|---|
| 184 | </ul>
|
|---|
| 185 | </li>
|
|---|
| 186 | <li>
|
|---|
| 187 | <font color="#CFDCED">Resources</font>
|
|---|
| 188 | <ul>
|
|---|
| 189 |
|
|---|
| 190 | <li>
|
|---|
| 191 | <a href="gethelp.html">Getting Help</a>
|
|---|
| 192 | </li>
|
|---|
| 193 |
|
|---|
| 194 | <li>
|
|---|
| 195 | <span class="sel"><font color="#ffcc00">FAQs</font></span>
|
|---|
| 196 | </li>
|
|---|
| 197 |
|
|---|
| 198 | <li>
|
|---|
| 199 | <a href="fo.html">XSL-FO</a>
|
|---|
| 200 | </li>
|
|---|
| 201 |
|
|---|
| 202 | <li>
|
|---|
| 203 | <a href="examples.html">Examples</a>
|
|---|
| 204 | </li>
|
|---|
| 205 |
|
|---|
| 206 | <li>
|
|---|
| 207 | <a href="maillist.html">Mailing Lists</a>
|
|---|
| 208 | </li>
|
|---|
| 209 |
|
|---|
| 210 | <li>
|
|---|
| 211 | <a href="bugs.html">Bugs</a>
|
|---|
| 212 | </li>
|
|---|
| 213 |
|
|---|
| 214 | <li>
|
|---|
| 215 | <a href="license.html">License</a>
|
|---|
| 216 | </li>
|
|---|
| 217 |
|
|---|
| 218 | <li>
|
|---|
| 219 | <a href="resources.html">Other</a>
|
|---|
| 220 | </li>
|
|---|
| 221 |
|
|---|
| 222 | </ul>
|
|---|
| 223 | </li>
|
|---|
| 224 | <li>
|
|---|
| 225 | <font color="#CFDCED">Project</font>
|
|---|
| 226 | <ul>
|
|---|
| 227 |
|
|---|
| 228 | <li>
|
|---|
| 229 | <a href="news.html">News</a>
|
|---|
| 230 | </li>
|
|---|
| 231 |
|
|---|
| 232 | <li>
|
|---|
| 233 | <a href="logocontest.html">Logo contest</a>
|
|---|
| 234 | </li>
|
|---|
| 235 |
|
|---|
| 236 | <li>
|
|---|
| 237 | <a href="status.html">Status</a>
|
|---|
| 238 | </li>
|
|---|
| 239 |
|
|---|
| 240 |
|
|---|
| 241 | <li>
|
|---|
| 242 | <a href="team.html">Team</a>
|
|---|
| 243 | </li>
|
|---|
| 244 |
|
|---|
| 245 | </ul>
|
|---|
| 246 | </li>
|
|---|
| 247 | </ul>
|
|---|
| 248 | </div>
|
|---|
| 249 | <!--================= end Menu items ==================-->
|
|---|
| 250 | </td><td valign="bottom" bgcolor="#4C6C8F"><img width="10" height="10" alt="" src="skin/images/spacer.gif"></td><td bgcolor="#294563"><img width="1" height="1" alt="" src="skin/images/spacer.gif"></td>
|
|---|
| 251 | </tr>
|
|---|
| 252 | <tr>
|
|---|
| 253 | <td valign="bottom" align="left" colspan="2" rowspan="2" bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="skin/images/menu-left.gif"></td><td bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="skin/images/spacer.gif"></td><td valign="bottom" align="right" colspan="2" rowspan="2" bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="skin/images/menu-right.gif"></td>
|
|---|
| 254 | </tr>
|
|---|
| 255 | <tr>
|
|---|
| 256 | <td height="1" bgcolor="#294563"><img width="1" height="1" alt="" src="skin/images/spacer.gif"></td>
|
|---|
| 257 | </tr>
|
|---|
| 258 | </table>
|
|---|
| 259 | </td><td valign="top" width="100%">
|
|---|
| 260 | <table summary="content" width="100%" border="0" cellpadding="0" cellspacing="0">
|
|---|
| 261 | <!--================= start middle NavBar ==================-->
|
|---|
| 262 | <tr>
|
|---|
| 263 | <td colspan="4" bgcolor="#294563"><img width="10" height="1" alt="" src="skin/images/spacer.gif"></td>
|
|---|
| 264 | </tr>
|
|---|
| 265 | <tr>
|
|---|
| 266 | <td align="left" width="10" bgcolor="#CFDCED"><img width="10" height="1" alt="" src="skin/images/spacer.gif"></td><td align="left" width="50%" bgcolor="#CFDCED"><font color="#4C6C8F" size="3" face="Arial, Helvetica, Sans-serif">
|
|---|
| 267 |
|
|---|
| 268 |
|
|---|
| 269 | </font><img width="10" height="8" alt="" src="skin/images/spacer.gif"></td><td align="right" width="50%" bgcolor="#CFDCED"><font color="#4C6C8F" size="3" face="Arial, Helvetica, Sans-serif">
|
|---|
| 270 |
|
|---|
| 271 |
|
|---|
| 272 | </font><img width="10" height="8" alt="" src="skin/images/spacer.gif"></td><td width="10" bgcolor="#CFDCED"><img width="10" height="1" alt="" src="skin/images/spacer.gif"></td>
|
|---|
| 273 | </tr>
|
|---|
| 274 | <tr>
|
|---|
| 275 | <td colspan="4" bgcolor="#294563"><img width="10" height="1" alt="" src="skin/images/spacer.gif"></td>
|
|---|
| 276 | </tr>
|
|---|
| 277 | <!--================= end middle NavBar ==================-->
|
|---|
| 278 | <!--================= start Content==================-->
|
|---|
| 279 | <tr>
|
|---|
| 280 | <td align="left" width="10"><img width="10" height="1" alt="" src="skin/images/spacer.gif"></td><td align="left" width="100%">
|
|---|
| 281 | <div class="content">
|
|---|
| 282 | <table class="title" summary="">
|
|---|
| 283 | <tr>
|
|---|
| 284 | <td valign="middle">
|
|---|
| 285 | <h1>FOP FAQ</h1>
|
|---|
| 286 | </td><td nowrap="nowrap" width="80" align="center"><a class="dida" href="faq.pdf"><img alt="printer" src="skin/images/printer.gif" border="0"><br>
|
|---|
| 287 | print-friendly<br>
|
|---|
| 288 | PDF</a></td>
|
|---|
| 289 | </tr>
|
|---|
| 290 | </table>
|
|---|
| 291 | <a name="N10007"></a>
|
|---|
| 292 | <h3>Questions</h3>
|
|---|
| 293 | <div style="margin-left: 0 ; border: 2px">
|
|---|
| 294 | <ul>
|
|---|
| 295 | <li>
|
|---|
| 296 | <a name="part-general-menu"></a><a href="#part-general">1. General questions</a>
|
|---|
| 297 | <ul>
|
|---|
| 298 | <li>
|
|---|
| 299 | <a name="fop-general-menu"></a><a href="#fop-general">What is FOP?</a>
|
|---|
| 300 | </li>
|
|---|
| 301 | <li>
|
|---|
| 302 | <a name="fop-functions-menu"></a><a href="#fop-functions">What can I do with FOP?</a>
|
|---|
| 303 | </li>
|
|---|
| 304 | <li>
|
|---|
| 305 | <a name="fop-acronym-menu"></a><a href="#fop-acronym">What does "FOP" stand for?</a>
|
|---|
| 306 | </li>
|
|---|
| 307 | <li>
|
|---|
| 308 | <a name="fop-other-apache-menu"></a><a href="#fop-other-apache">How does FOP interact with other Apache Projects?</a>
|
|---|
| 309 | </li>
|
|---|
| 310 | <li>
|
|---|
| 311 | <a name="xsl-def-menu"></a><a href="#xsl-def">What is XSL?</a>
|
|---|
| 312 | </li>
|
|---|
| 313 | <li>
|
|---|
| 314 | <a name="xslfo-menu"></a><a href="#xslfo">What is XSL-FO?</a>
|
|---|
| 315 | </li>
|
|---|
| 316 | <li>
|
|---|
| 317 | <a name="XSLT-menu"></a><a href="#XSLT">What is XSLT?</a>
|
|---|
| 318 | </li>
|
|---|
| 319 | <li>
|
|---|
| 320 | <a name="contribute-menu"></a><a href="#contribute">How can I contribute?</a>
|
|---|
| 321 | </li>
|
|---|
| 322 | </ul>
|
|---|
| 323 | </li>
|
|---|
| 324 | <li>
|
|---|
| 325 | <a name="part-running-menu"></a><a href="#part-running">2. Problems running FOP</a>
|
|---|
| 326 | <ul>
|
|---|
| 327 | <li>
|
|---|
| 328 | <a name="no-page-master-menu"></a><a href="#no-page-master">I get the error: [ERROR]: 'master-reference' for
|
|---|
| 329 | 'fo:page-sequence'matches no 'simple-page-master' or
|
|---|
| 330 | 'page-sequence-master'</a>
|
|---|
| 331 | </li>
|
|---|
| 332 | <li>
|
|---|
| 333 | <a name="NoClassDefFound-menu"></a><a href="#NoClassDefFound">I get a NoClassDefFound exception.</a>
|
|---|
| 334 | </li>
|
|---|
| 335 | <li>
|
|---|
| 336 | <a name="NoSuchMethodException-menu"></a><a href="#NoSuchMethodException">I get a NoSuchMethodException or a NoSuchFieldException
|
|---|
| 337 | exception.</a>
|
|---|
| 338 | </li>
|
|---|
| 339 | <li>
|
|---|
| 340 | <a name="OutOfMemoryException-menu"></a><a href="#OutOfMemoryException">I get an OutOfMemoryException.</a>
|
|---|
| 341 | </li>
|
|---|
| 342 | <li>
|
|---|
| 343 | <a name="MalformedURLException-menu"></a><a href="#MalformedURLException">I get a MalformedURLException.</a>
|
|---|
| 344 | </li>
|
|---|
| 345 | <li>
|
|---|
| 346 | <a name="NullPointerException-menu"></a><a href="#NullPointerException">I get an "[ERROR]: null", or a NullPointerException.</a>
|
|---|
| 347 | </li>
|
|---|
| 348 | <li>
|
|---|
| 349 | <a name="not-implemented-menu"></a><a href="#not-implemented">FOP returns the message "[ERROR] <em>object|property - 'x'</em> is not implemented yet." When will it be implemented?</a>
|
|---|
| 350 | </li>
|
|---|
| 351 | <li>
|
|---|
| 352 | <a name="fop-hangs-menu"></a><a href="#fop-hangs">FOP hangs. FOP does not exit.</a>
|
|---|
| 353 | </li>
|
|---|
| 354 | <li>
|
|---|
| 355 | <a name="boxoverflow-menu"></a><a href="#boxoverflow">FOP runs forever, writing lots of ">" to the log.</a>
|
|---|
| 356 | </li>
|
|---|
| 357 | <li>
|
|---|
| 358 | <a name="cannot-find-external-graphics-menu"></a><a href="#cannot-find-external-graphics">FOP cannot find a file for fo:external-graphics.</a>
|
|---|
| 359 | </li>
|
|---|
| 360 | <li>
|
|---|
| 361 | <a name="fonts-not-found-menu"></a><a href="#fonts-not-found">FOP does not find my fonts.</a>
|
|---|
| 362 | </li>
|
|---|
| 363 | </ul>
|
|---|
| 364 | </li>
|
|---|
| 365 | <li>
|
|---|
| 366 | <a name="part-output-menu"></a><a href="#part-output">3. Problems with FOP output</a>
|
|---|
| 367 | <ul>
|
|---|
| 368 | <li>
|
|---|
| 369 | <a name="leader-expansion-menu"></a><a href="#leader-expansion">Leaders don't work anymore in 0.20.5. Instead of
|
|---|
| 370 | filling the line, only three dots or a short ruler is
|
|---|
| 371 | output.</a>
|
|---|
| 372 | </li>
|
|---|
| 373 | <li>
|
|---|
| 374 | <a name="blank-page-between-page-sequences-menu"></a><a href="#blank-page-between-page-sequences">Why does FOP insert a blank page between my page sequences?</a>
|
|---|
| 375 | </li>
|
|---|
| 376 | <li>
|
|---|
| 377 | <a name="graphic-not-displayed-menu"></a><a href="#graphic-not-displayed">Why is my graphic not rendered?</a>
|
|---|
| 378 | </li>
|
|---|
| 379 | <li>
|
|---|
| 380 | <a name="png-fails-menu"></a><a href="#png-fails">My graphical images do not work properly.</a>
|
|---|
| 381 | </li>
|
|---|
| 382 | <li>
|
|---|
| 383 | <a name="graphic-resolution-menu"></a><a href="#graphic-resolution">Why is my graphic rendered at a different resolution than it was created?</a>
|
|---|
| 384 | </li>
|
|---|
| 385 | <li>
|
|---|
| 386 | <a name="keep-with-menu"></a><a href="#keep-with">Keep-with-next, keep-with-previous, keep-together
|
|---|
| 387 | don't work.</a>
|
|---|
| 388 | </li>
|
|---|
| 389 | <li>
|
|---|
| 390 | <a name="table-missing-menu"></a><a href="#table-missing">My tables are missing, or missing their content.</a>
|
|---|
| 391 | </li>
|
|---|
| 392 | <li>
|
|---|
| 393 | <a name="cells-overflow-menu"></a><a href="#cells-overflow">Text overflowing table cells and the like is not clipped. Long
|
|---|
| 394 | text flows into adjacent cells/block, obscuring stuff there.</a>
|
|---|
| 395 | </li>
|
|---|
| 396 | <li>
|
|---|
| 397 | <a name="page-number-align-menu"></a><a href="#page-number-align">Page numbers are not properly right aligned.</a>
|
|---|
| 398 | </li>
|
|---|
| 399 | <li>
|
|---|
| 400 | <a name="hyphenation-fails-menu"></a><a href="#hyphenation-fails">Hyphenation does not work.</a>
|
|---|
| 401 | </li>
|
|---|
| 402 | </ul>
|
|---|
| 403 | </li>
|
|---|
| 404 | <li>
|
|---|
| 405 | <a name="part-embedding-menu"></a><a href="#part-embedding">4. Embedding FOP. Using FOP in a servlet.</a>
|
|---|
| 406 | <ul>
|
|---|
| 407 | <li>
|
|---|
| 408 | <a name="servlet-menu"></a><a href="#servlet">How do I use FOP in a servlet?</a>
|
|---|
| 409 | </li>
|
|---|
| 410 | <li>
|
|---|
| 411 | <a name="servlet-with-xslt-menu"></a><a href="#servlet-with-xslt">How do I use FOP in a servlet with an XSLT
|
|---|
| 412 | transformation?</a>
|
|---|
| 413 | </li>
|
|---|
| 414 | <li>
|
|---|
| 415 | <a name="servlet-xslt-params-menu"></a><a href="#servlet-xslt-params">How do I pass parameters to the XSLT transformation?</a>
|
|---|
| 416 | </li>
|
|---|
| 417 | <li>
|
|---|
| 418 | <a name="servlet-nonstd-fonts-menu"></a><a href="#servlet-nonstd-fonts">How do I use my own fonts when running FOP from a
|
|---|
| 419 | servlet?</a>
|
|---|
| 420 | </li>
|
|---|
| 421 | <li>
|
|---|
| 422 | <a name="servlet-baseDir-menu"></a><a href="#servlet-baseDir">How do I set the baseDir property in a servlet environment?</a>
|
|---|
| 423 | </li>
|
|---|
| 424 | <li>
|
|---|
| 425 | <a name="usercfg-menu"></a><a href="#usercfg">How do I use a user configuration file from a servlet?</a>
|
|---|
| 426 | </li>
|
|---|
| 427 | <li>
|
|---|
| 428 | <a name="servlet-NoClassDefFound-menu"></a><a href="#servlet-NoClassDefFound">I keep getting NoClassDefFound and other exceptions. How do I
|
|---|
| 429 | get FOP working for various servlet engines?</a>
|
|---|
| 430 | </li>
|
|---|
| 431 | <li>
|
|---|
| 432 | <a name="multithreaded-menu"></a><a href="#multithreaded">Can FOP be used in multithreaded environments?</a>
|
|---|
| 433 | </li>
|
|---|
| 434 | </ul>
|
|---|
| 435 | </li>
|
|---|
| 436 | <li>
|
|---|
| 437 | <a name="part-svg-menu"></a><a href="#part-svg">5. SVG specific questions</a>
|
|---|
| 438 | <ul>
|
|---|
| 439 | <li>
|
|---|
| 440 | <a name="svg-text-menu"></a><a href="#svg-text">The rendering of SVG text in my PDF is of poor quality.
|
|---|
| 441 | Can I control this?</a>
|
|---|
| 442 | </li>
|
|---|
| 443 | <li>
|
|---|
| 444 | <a name="svg-headless-menu"></a><a href="#svg-headless">How do I use FOP with SVG on headless servers?</a>
|
|---|
| 445 | </li>
|
|---|
| 446 | <li>
|
|---|
| 447 | <a name="svghangs-menu"></a><a href="#svghangs">FOP does not exit if a SVG is included.</a>
|
|---|
| 448 | </li>
|
|---|
| 449 | <li>
|
|---|
| 450 | <a name="svg-url-menu"></a><a href="#svg-url">I have problems with SVG referring to gradients etc. using
|
|---|
| 451 | "uri(#stuff)". I get a MalformedURLException.</a>
|
|---|
| 452 | </li>
|
|---|
| 453 | <li>
|
|---|
| 454 | <a name="svg-scaling-menu"></a><a href="#svg-scaling">Why is my SVG rendered at a size different from that specified in my fo:external-graphic element?</a>
|
|---|
| 455 | </li>
|
|---|
| 456 | </ul>
|
|---|
| 457 | </li>
|
|---|
| 458 | <li>
|
|---|
| 459 | <a name="part-pdf-menu"></a><a href="#part-pdf">6. PDF specific (includes Acrobat peculiarities)</a>
|
|---|
| 460 | <ul>
|
|---|
| 461 | <li>
|
|---|
| 462 | <a name="pdf-embed-font-menu"></a><a href="#pdf-embed-font">How do I embed fonts in PDF?</a>
|
|---|
| 463 | </li>
|
|---|
| 464 | <li>
|
|---|
| 465 | <a name="pdf-characters-menu"></a><a href="#pdf-characters">Some characters are not displayed, or displayed incorrectly, or
|
|---|
| 466 | displayed as “#”.</a>
|
|---|
| 467 | </li>
|
|---|
| 468 | <li>
|
|---|
| 469 | <a name="pdf-postprocess-menu"></a><a href="#pdf-postprocess">What tools are available for post-processing my PDF document?</a>
|
|---|
| 470 | </li>
|
|---|
| 471 | <li>
|
|---|
| 472 | <a name="pdf-security-menu"></a><a href="#pdf-security">How do I add security features (encryption, disable printing)
|
|---|
| 473 | to my PDF document?</a>
|
|---|
| 474 | </li>
|
|---|
| 475 | <li>
|
|---|
| 476 | <a name="pdf-doc-properties-menu"></a><a href="#pdf-doc-properties">How do I add document properties (title, author, etc.) to my
|
|---|
| 477 | PDF document?</a>
|
|---|
| 478 | </li>
|
|---|
| 479 | <li>
|
|---|
| 480 | <a name="pdf-watermark-menu"></a><a href="#pdf-watermark">How do I add watermarks to my PDF document?</a>
|
|---|
| 481 | </li>
|
|---|
| 482 | <li>
|
|---|
| 483 | <a name="pdf-print-contortion-menu"></a><a href="#pdf-print-contortion">The PDF is printed contorted!</a>
|
|---|
| 484 | </li>
|
|---|
| 485 | <li>
|
|---|
| 486 | <a name="pdf-bookmark-display-menu"></a><a href="#pdf-bookmark-display">How do I control the Acrobat bookmark display?</a>
|
|---|
| 487 | </li>
|
|---|
| 488 | </ul>
|
|---|
| 489 | </li>
|
|---|
| 490 | <li>
|
|---|
| 491 | <a name="part-iex-menu"></a><a href="#part-iex">7. IEx specific stuff</a>
|
|---|
| 492 | <ul>
|
|---|
| 493 | <li>
|
|---|
| 494 | <a name="iex-servlet-multiple-menu"></a><a href="#iex-servlet-multiple">The FOP servlet is called multiple times!</a>
|
|---|
| 495 | </li>
|
|---|
| 496 | <li>
|
|---|
| 497 | <a name="iex-pdf-print-from-browser-menu"></a><a href="#iex-pdf-print-from-browser">How do I print PDF directly from the browser?</a>
|
|---|
| 498 | </li>
|
|---|
| 499 | </ul>
|
|---|
| 500 | </li>
|
|---|
| 501 | <li>
|
|---|
| 502 | <a name="part-input-menu"></a><a href="#part-input">8. General questions regarding XSLT, XSLFO, and basic XML</a>
|
|---|
| 503 | <ul>
|
|---|
| 504 | <li>
|
|---|
| 505 | <a name="fo-center-menu"></a><a href="#fo-center">(FO) How do I vertically center an image or a table (or
|
|---|
| 506 | whatever)?</a>
|
|---|
| 507 | </li>
|
|---|
| 508 | <li>
|
|---|
| 509 | <a name="fo-center-table-horizon-menu"></a><a href="#fo-center-table-horizon">(FO) How do I center a table horizontally?</a>
|
|---|
| 510 | </li>
|
|---|
| 511 | <li>
|
|---|
| 512 | <a name="fo-page-outer-menu"></a><a href="#fo-page-outer">(FO) How to get page numbers printed on the "outer side" of the
|
|---|
| 513 | page (for books, for example)?</a>
|
|---|
| 514 | </li>
|
|---|
| 515 | <li>
|
|---|
| 516 | <a name="oddeven-menu"></a><a href="#oddeven">(FO) How do I use different static content for odd and even
|
|---|
| 517 | pages?</a>
|
|---|
| 518 | </li>
|
|---|
| 519 | <li>
|
|---|
| 520 | <a name="fo-first-page-header-menu"></a><a href="#fo-first-page-header">(FO) How do I get a special header on the first page?</a>
|
|---|
| 521 | </li>
|
|---|
| 522 | <li>
|
|---|
| 523 | <a name="fo-omit-headers-menu"></a><a href="#fo-omit-headers">(FO) How do I omit my headers on a blank page? How do I write
|
|---|
| 524 | "This page is left blank" on an intentionally blank page?</a>
|
|---|
| 525 | </li>
|
|---|
| 526 | <li>
|
|---|
| 527 | <a name="fo-special-symbols-menu"></a><a href="#fo-special-symbols">(FO) How do I print an Euro sign, a checkbox or other some other
|
|---|
| 528 | special symbols?</a>
|
|---|
| 529 | </li>
|
|---|
| 530 | <li>
|
|---|
| 531 | <a name="fo-preformat-menu"></a><a href="#fo-preformat">(FO) How do I keep linebreaks and hard spaces? How do I get
|
|---|
| 532 | preformatted text displayed as expected?</a>
|
|---|
| 533 | </li>
|
|---|
| 534 | <li>
|
|---|
| 535 | <a name="fo-total-pages-menu"></a><a href="#fo-total-pages">(FO) How do I print the total number of pages, for example "page 1
|
|---|
| 536 | of 12"</a>
|
|---|
| 537 | </li>
|
|---|
| 538 | <li>
|
|---|
| 539 | <a name="fo-region-overlap-menu"></a><a href="#fo-region-overlap">(FO) The header overlaps body content. The body extends into
|
|---|
| 540 | the footer.</a>
|
|---|
| 541 | </li>
|
|---|
| 542 | <li>
|
|---|
| 543 | <a name="fo-lines-menu"></a><a href="#fo-lines">(FO) How do I get lines in the document, as separators, side
|
|---|
| 544 | bars or folding marks?</a>
|
|---|
| 545 | </li>
|
|---|
| 546 | <li>
|
|---|
| 547 | <a name="fo-validate-menu"></a><a href="#fo-validate">(FO) How do I validate my FO document?</a>
|
|---|
| 548 | </li>
|
|---|
| 549 | <li>
|
|---|
| 550 | <a name="xml-non-breaking-space-menu"></a><a href="#xml-non-breaking-space">(XML) How do I get a non-breaking space in FO? There are complaints about <span class="codefrag">&nbsp;</span>.</a>
|
|---|
| 551 | </li>
|
|---|
| 552 | <li>
|
|---|
| 553 | <a name="xml-undefined-entities-menu"></a><a href="#xml-undefined-entities">(XML) How do I enter special characters in XML? There are complaints about undefined entities, such as <span class="codefrag">&uuml;</span>, which work in HTML. </a>
|
|---|
| 554 | </li>
|
|---|
| 555 | <li>
|
|---|
| 556 | <a name="xml-illegal-entities-menu"></a><a href="#xml-illegal-entities">(XML) There are complaints about illegal characters and entities
|
|---|
| 557 | in the input.</a>
|
|---|
| 558 | </li>
|
|---|
| 559 | <li>
|
|---|
| 560 | <a name="xml-illegal-chars-menu"></a><a href="#xml-illegal-chars">(XML) There are complaints about illegal bytes or characters in
|
|---|
| 561 | the input. There are odd characters in the result.</a>
|
|---|
| 562 | </li>
|
|---|
| 563 | </ul>
|
|---|
| 564 | </li>
|
|---|
| 565 | <li>
|
|---|
| 566 | <a name="part-help-menu"></a><a href="#part-help">9. General suggestions. How to solve problems.</a>
|
|---|
| 567 | <ul>
|
|---|
| 568 | <li>
|
|---|
| 569 | <a name="bugs-menu"></a><a href="#bugs">I think I have found a bug in FOP. What should I do?</a>
|
|---|
| 570 | </li>
|
|---|
| 571 | <li>
|
|---|
| 572 | <a name="postquestions-menu"></a><a href="#postquestions">I have questions that are not addressed in this FAQ. Where
|
|---|
| 573 | should I post them?</a>
|
|---|
| 574 | </li>
|
|---|
| 575 | </ul>
|
|---|
| 576 | </li>
|
|---|
| 577 | </ul>
|
|---|
| 578 | </div>
|
|---|
| 579 | <a name="N101A8"></a>
|
|---|
| 580 | <h3>Answers</h3>
|
|---|
| 581 | <div style="margin-left: 0 ; border: 2px">
|
|---|
| 582 | <a name="N101AB"></a><a name="part-general"></a>
|
|---|
| 583 | <h4>1. General questions</h4>
|
|---|
| 584 | <div style="margin-left: 0 ; border: 2px">
|
|---|
| 585 | <a name="N101AF"></a><a name="fop-general"></a>
|
|---|
| 586 | <h5>1.1. What is FOP?<span style="float: right"><a href="#fop-general-menu">^</a></span>
|
|---|
| 587 | </h5>
|
|---|
| 588 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 589 | <p>
|
|---|
| 590 | FOP is a print formatter for <a href="#XSLFO">XSL formatting
|
|---|
| 591 | objects</a>.
|
|---|
| 592 | </p>
|
|---|
| 593 | <p>
|
|---|
| 594 | It can be used to render an XML file containing XSL formatting objects
|
|---|
| 595 | into a page layout. The main target is PDF but other rendering targets
|
|---|
| 596 | are supported, such as AWT, PCL, text and direct printing.
|
|---|
| 597 | </p>
|
|---|
| 598 | </div>
|
|---|
| 599 | <a name="N101BE"></a><a name="fop-functions"></a>
|
|---|
| 600 | <h5>1.2. What can I do with FOP?<span style="float: right"><a href="#fop-functions-menu">^</a></span>
|
|---|
| 601 | </h5>
|
|---|
| 602 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 603 | <p>
|
|---|
| 604 | FOP provides both an application and a library that converts an XSL FO
|
|---|
| 605 | document into paginated output.
|
|---|
| 606 | </p>
|
|---|
| 607 | <p>
|
|---|
| 608 | The FOP command line application can be directly used to transform XML
|
|---|
| 609 | into PDF, PostScript, PCL and other formats, there is also an AWT
|
|---|
| 610 | based viewer integrated.
|
|---|
| 611 | </p>
|
|---|
| 612 | <p>
|
|---|
| 613 | The library can be used in servlets and other Java applications.
|
|---|
| 614 | </p>
|
|---|
| 615 | </div>
|
|---|
| 616 | <a name="N101CC"></a><a name="fop-acronym"></a>
|
|---|
| 617 | <h5>1.3. What does "FOP" stand for?<span style="float: right"><a href="#fop-acronym-menu">^</a></span>
|
|---|
| 618 | </h5>
|
|---|
| 619 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 620 | <p>
|
|---|
| 621 | It's an acronym for <strong>F</strong>ormatting
|
|---|
| 622 | <strong>O</strong>bject <strong>P</strong>rocessor
|
|---|
| 623 | </p>
|
|---|
| 624 | </div>
|
|---|
| 625 | <a name="N101DD"></a><a name="fop-other-apache"></a>
|
|---|
| 626 | <h5>1.4. How does FOP interact with other Apache Projects?<span style="float: right"><a href="#fop-other-apache-menu">^</a></span>
|
|---|
| 627 | </h5>
|
|---|
| 628 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 629 | <p>
|
|---|
| 630 | FOP is distributed with <a href="http://xml.apache.org/cocoon">Cocoon</a> as a PDF serializer
|
|---|
| 631 | for XSL (FO) documents.
|
|---|
| 632 | </p>
|
|---|
| 633 | <p>
|
|---|
| 634 |
|
|---|
| 635 | <a href="http://xml.apache.org/batik">Batik</a> can be used with
|
|---|
| 636 | FOP to <a href="http://xml.apache.org/batik/svgrasterizer.html">transcode an SVG
|
|---|
| 637 | image</a> into a PDF document.
|
|---|
| 638 | </p>
|
|---|
| 639 | </div>
|
|---|
| 640 | <a name="N101F4"></a><a name="xsl-def"></a>
|
|---|
| 641 | <h5>1.5. What is XSL?<span style="float: right"><a href="#xsl-def-menu">^</a></span>
|
|---|
| 642 | </h5>
|
|---|
| 643 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 644 | <p>
|
|---|
| 645 | XSL is a W3C standard concerned with publishing XML documents. It
|
|---|
| 646 | consists of two parts: <a href="#XSLT">XSLT</a> and <a href="#XSLFO">XSLFO</a>. The acronym expands to
|
|---|
| 647 | e<strong>X</strong>tensible <strong>S</strong>tylesheet
|
|---|
| 648 | <strong>L</strong>anguage.
|
|---|
| 649 | </p>
|
|---|
| 650 | </div>
|
|---|
| 651 | <a name="N1020D"></a><a name="xslfo"></a>
|
|---|
| 652 | <h5>1.6. What is XSL-FO?<span style="float: right"><a href="#xslfo-menu">^</a></span>
|
|---|
| 653 | </h5>
|
|---|
| 654 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 655 | <p>
|
|---|
| 656 | XSLFO is an XML vocabulary that is used to specify a pagination and
|
|---|
| 657 | other styling for page layout output. The acronym “FO”
|
|---|
| 658 | stands for
|
|---|
| 659 | <strong>F</strong>ormatting <strong>O</strong>bjects. XSLFO can be
|
|---|
| 660 | used in conjunction with <a href="#XSLT">XSLT</a> to convert
|
|---|
| 661 | from any XML format into a paginated layout ready for printing or
|
|---|
| 662 | displaying.
|
|---|
| 663 | </p>
|
|---|
| 664 | <p>
|
|---|
| 665 | XSLFO defines a set of elements in XML that describes the way pages
|
|---|
| 666 | are set up. The contents of the pages are filled from flows. There can
|
|---|
| 667 | be static flows that appear on every page (for headers and footers)
|
|---|
| 668 | and the main flow which fills the body of the page.
|
|---|
| 669 | </p>
|
|---|
| 670 | <p>
|
|---|
| 671 | Synonyms: XSL FO, XSL (FO), XSL:FO, XSL-FO, Formatting Objects
|
|---|
| 672 | </p>
|
|---|
| 673 | </div>
|
|---|
| 674 | <a name="N10225"></a><a name="XSLT"></a>
|
|---|
| 675 | <h5>1.7. What is XSLT?<span style="float: right"><a href="#XSLT-menu">^</a></span>
|
|---|
| 676 | </h5>
|
|---|
| 677 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 678 | <p>
|
|---|
| 679 | XSLT describes the transformation of arbitrary XML input into other
|
|---|
| 680 | XML (like XSLFO), HTML or plain text. The “T” comes from
|
|---|
| 681 | <strong>T</strong>ransformation. For historical reasons, a
|
|---|
| 682 | transformation is often also called a “style sheet”.
|
|---|
| 683 | </p>
|
|---|
| 684 | <p>
|
|---|
| 685 | Synonyms: XSL transformation, XSL:T, XSL style sheet.
|
|---|
| 686 | </p>
|
|---|
| 687 | </div>
|
|---|
| 688 | <a name="N10233"></a><a name="contribute"></a>
|
|---|
| 689 | <h5>1.8. How can I contribute?<span style="float: right"><a href="#contribute-menu">^</a></span>
|
|---|
| 690 | </h5>
|
|---|
| 691 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 692 | <p>
|
|---|
| 693 | There are numerous ways that you can help. They are outlined in the <a href="dev/index.html">Developer's Introduction</a>.
|
|---|
| 694 | </p>
|
|---|
| 695 | </div>
|
|---|
| 696 | </div>
|
|---|
| 697 | <a name="N1023F"></a><a name="part-running"></a>
|
|---|
| 698 | <h4>2. Problems running FOP</h4>
|
|---|
| 699 | <div style="margin-left: 0 ; border: 2px">
|
|---|
| 700 | <a name="N10243"></a><a name="no-page-master"></a>
|
|---|
| 701 | <h5>2.1. I get the error: [ERROR]: 'master-reference' for
|
|---|
| 702 | 'fo:page-sequence'matches no 'simple-page-master' or
|
|---|
| 703 | 'page-sequence-master'<span style="float: right"><a href="#no-page-master-menu">^</a></span>
|
|---|
| 704 | </h5>
|
|---|
| 705 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 706 | <p>
|
|---|
| 707 | FOP was changed to be in accordance with the latest standard (see
|
|---|
| 708 | <a href="resources.html#w3-xsl">XSL standard</a>).The page
|
|---|
| 709 | master for a fo:page-sequence is now refereced by the
|
|---|
| 710 | master-reference attribute. Replace the master-name attributes of
|
|---|
| 711 | your fo:page-sequence elements by master-reference attributes. You
|
|---|
| 712 | have to do this also for fo:single-page-master-reference,
|
|---|
| 713 | fo:repeatable-page-master-reference and
|
|---|
| 714 | fo:conditional-page-master-reference elements in you page master
|
|---|
| 715 | definitions.
|
|---|
| 716 | </p>
|
|---|
| 717 | <p>
|
|---|
| 718 | Update your FO documents and style sheets.
|
|---|
| 719 | </p>
|
|---|
| 720 | </div>
|
|---|
| 721 | <a name="N10252"></a><a name="NoClassDefFound"></a>
|
|---|
| 722 | <h5>2.2. I get a NoClassDefFound exception.<span style="float: right"><a href="#NoClassDefFound-menu">^</a></span>
|
|---|
| 723 | </h5>
|
|---|
| 724 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 725 | <p>This is typically a problem with your classpath.</p>
|
|---|
| 726 | <p>If you are running FOP from the command line:</p>
|
|---|
| 727 | <ul>
|
|---|
| 728 |
|
|---|
| 729 | <li>
|
|---|
| 730 | Use the fop.bat or fop.sh command file from the FOP
|
|---|
| 731 | distribution. If you have a FOP version older than 0.20.5,
|
|---|
| 732 | ensure the directory where FOP and these files have been
|
|---|
| 733 | installed is the current working directory.
|
|---|
| 734 | </li>
|
|---|
| 735 |
|
|---|
| 736 | <li>
|
|---|
| 737 | If this doesn't help, check whether still all the jar files
|
|---|
| 738 | mentioned in the classpath in the fop.bat file are in their
|
|---|
| 739 | respective places.
|
|---|
| 740 | </li>
|
|---|
| 741 |
|
|---|
| 742 | </ul>
|
|---|
| 743 | <p>
|
|---|
| 744 | If you run FOP embedded in your servlet, web application or
|
|---|
| 745 | other Java application, check the classpath of the
|
|---|
| 746 | application. Check the also the information pertaining <a href="servlets.html#servlet-engine">servlet engines</a>
|
|---|
| 747 | for further hints.
|
|---|
| 748 | </p>
|
|---|
| 749 | </div>
|
|---|
| 750 | <a name="N1026D"></a><a name="NoSuchMethodException"></a>
|
|---|
| 751 | <h5>2.3. I get a NoSuchMethodException or a NoSuchFieldException
|
|---|
| 752 | exception.<span style="float: right"><a href="#NoSuchMethodException-menu">^</a></span>
|
|---|
| 753 | </h5>
|
|---|
| 754 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 755 | <p>
|
|---|
| 756 | This is usually caused by an older version of one of the FOP jars or
|
|---|
| 757 | old XML tools in the classpath. Check in particular for parser.jar,
|
|---|
| 758 | jaxp.jar, xml4j.jar or lotusxsl.jar.
|
|---|
| 759 | </p>
|
|---|
| 760 | <p>
|
|---|
| 761 | Incompatible versions of Batik may also cause this problem. Use the
|
|---|
| 762 | version of Batik that comes with FOP. It is not always possible to
|
|---|
| 763 | use a more recent version of Batik.
|
|---|
| 764 | </p>
|
|---|
| 765 | </div>
|
|---|
| 766 | <a name="N10278"></a><a name="OutOfMemoryException"></a>
|
|---|
| 767 | <h5>2.4. I get an OutOfMemoryException.<span style="float: right"><a href="#OutOfMemoryException-menu">^</a></span>
|
|---|
| 768 | </h5>
|
|---|
| 769 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 770 | <p>
|
|---|
| 771 | See <a href="running.html#memory">FOP Memory</a>.
|
|---|
| 772 | </p>
|
|---|
| 773 | </div>
|
|---|
| 774 | <a name="N10284"></a><a name="MalformedURLException"></a>
|
|---|
| 775 | <h5>2.5. I get a MalformedURLException.<span style="float: right"><a href="#MalformedURLException-menu">^</a></span>
|
|---|
| 776 | </h5>
|
|---|
| 777 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 778 | <a name="MalformedURL"></a>
|
|---|
| 779 | <p>
|
|---|
| 780 | What you probably think of as "file names" are usually URLs, in
|
|---|
| 781 | particular the src attribute of fo:external-graphic.
|
|---|
| 782 | </p>
|
|---|
| 783 | <p>
|
|---|
| 784 | Because usage of URLs is growing, you should make yourself familiar
|
|---|
| 785 | with it. The relevant specification is <a href="http://www.rfc-editor.org/rfc/rfc2396.txt">RFC 2396</a>.
|
|---|
| 786 | </p>
|
|---|
| 787 | <p>
|
|---|
| 788 | In a nutshell, the correct syntax for an absolute file URL is
|
|---|
| 789 | <span class="codefrag">file:///some/path/file.ext</span> on Unix and
|
|---|
| 790 | <span class="codefrag">file:///z:/some/path/file.ext</span> on Windows systems. Note
|
|---|
| 791 | the triple slash, and also that only forward slashes are used, even on
|
|---|
| 792 | windows.
|
|---|
| 793 | </p>
|
|---|
| 794 | <p>
|
|---|
| 795 | A relative file URL starts with anything but a slash, and doesn't have
|
|---|
| 796 | the <span class="codefrag">file:</span> prefix, for example <span class="codefrag">file.ext</span>,
|
|---|
| 797 | <span class="codefrag">path/file.ext</span> or <span class="codefrag">../file.ext</span>. The string
|
|---|
| 798 | <span class="codefrag">file:path/file.ext</span> is <em>not</em> a relative URL,
|
|---|
| 799 | in fact, it isn't a valid URL at all. A relative URL is subject to a
|
|---|
| 800 | resolving process, which transforms it into an absolute
|
|---|
| 801 | URL.
|
|---|
| 802 | </p>
|
|---|
| 803 | </div>
|
|---|
| 804 | <a name="N102B4"></a><a name="NullPointerException"></a>
|
|---|
| 805 | <h5>2.6. I get an "[ERROR]: null", or a NullPointerException.<span style="float: right"><a href="#NullPointerException-menu">^</a></span>
|
|---|
| 806 | </h5>
|
|---|
| 807 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 808 | <p>
|
|---|
| 809 | This is often caused by an invalid FO document. Currently only very
|
|---|
| 810 | common errors are intercepted and produce a comprehensible error
|
|---|
| 811 | message. If you forgot container elements like fo:page-sequence or
|
|---|
| 812 | fo:flow and put blocks and inline elements directly as children of
|
|---|
| 813 | fo:root or fo:page-sequence, you'll only get a
|
|---|
| 814 | NullPointerException. Check whether your FO file has a proper
|
|---|
| 815 | structure. In some cases there are mandatory properties, like the
|
|---|
| 816 | master-reference in fo:conditional-page-master-reference, check also
|
|---|
| 817 | whether you got them right.
|
|---|
| 818 | </p>
|
|---|
| 819 | <p>
|
|---|
| 820 | You may find it helpful to use the <a href="#FO-validate">validation tools</a> to validate your
|
|---|
| 821 | FO document. This will catch most problems, but should not be
|
|---|
| 822 | relied upon to catch all.
|
|---|
| 823 | </p>
|
|---|
| 824 | <p>
|
|---|
| 825 | If you use XSLT, problems in your style sheet and in your source XML
|
|---|
| 826 | also can produce a NullPointerException. Run the transformation
|
|---|
| 827 | separately to check for this, usually you'll get a detailed error
|
|---|
| 828 | message from the XSLT processor.
|
|---|
| 829 | </p>
|
|---|
| 830 | <p>
|
|---|
| 831 | If you turn on debugging with the "-d" option you may be able to
|
|---|
| 832 | see more detailed information.
|
|---|
| 833 | </p>
|
|---|
| 834 | </div>
|
|---|
| 835 | <a name="N102C9"></a><a name="not-implemented"></a>
|
|---|
| 836 | <h5>2.7. FOP returns the message "[ERROR] object|property - 'x' is not implemented yet." When will it be implemented?<span style="float: right"><a href="#not-implemented-menu">^</a></span>
|
|---|
| 837 | </h5>
|
|---|
| 838 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 839 | <p>See the article "<a href="gethelp.html#compliance">Review FOP's Standards Compliance</a>".</p>
|
|---|
| 840 | </div>
|
|---|
| 841 | <a name="N102D8"></a><a name="fop-hangs"></a>
|
|---|
| 842 | <h5>2.8. FOP hangs. FOP does not exit.<span style="float: right"><a href="#fop-hangs-menu">^</a></span>
|
|---|
| 843 | </h5>
|
|---|
| 844 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 845 | <p>
|
|---|
| 846 | The most likely reason is a known problem with the Java run time
|
|---|
| 847 | environment which is triggered by rendering SVGs. Suns JDK 1.4 does
|
|---|
| 848 | not have this problem. See also <a href="#svghangs">FOP does not
|
|---|
| 849 | exit if a SVG is included</a>.
|
|---|
| 850 | </p>
|
|---|
| 851 | <p>
|
|---|
| 852 | Another possibility is that FOP went into a non terminating
|
|---|
| 853 | loop. Usually this is indicated by lots of log messages of the form
|
|---|
| 854 | "[INFO]: [NNNN]" which indicate a new page has been started or <a href="#boxoverflow">box overflows</a>. After some time, FOP will
|
|---|
| 855 | crash with an OutOfMemoryException.
|
|---|
| 856 | </p>
|
|---|
| 857 | <p>
|
|---|
| 858 | If you called the FOP command line application from some other
|
|---|
| 859 | programm, for example from Java using Runtime.exec(), it may hang
|
|---|
| 860 | while trying to write log entries to the output pipe. You have to read
|
|---|
| 861 | the FOP output regularly to empty the pipe buffer. It is best to avoid
|
|---|
| 862 | exec'ing FOP, use the library interface instead.
|
|---|
| 863 | </p>
|
|---|
| 864 | </div>
|
|---|
| 865 | <a name="N102EE"></a><a name="boxoverflow"></a>
|
|---|
| 866 | <h5>2.9. FOP runs forever, writing lots of ">" to the log.<span style="float: right"><a href="#boxoverflow-menu">^</a></span>
|
|---|
| 867 | </h5>
|
|---|
| 868 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 869 | <p>
|
|---|
| 870 | There is something too large to fit into the intended place, usually a
|
|---|
| 871 | large image, a table whose rows are kept together or a block with a
|
|---|
| 872 | space-before or space-after larger than the page size. Catch the first
|
|---|
| 873 | page showing this phenomenon and check it. If it is not obvious which
|
|---|
| 874 | element causes the trouble, remove stuff until the problem goes
|
|---|
| 875 | away. Decrease the dimensions of the offending element or property, or
|
|---|
| 876 | increase the dimension of the enclosing element or container, or
|
|---|
| 877 | remove keep-with-* properties.
|
|---|
| 878 | </p>
|
|---|
| 879 | </div>
|
|---|
| 880 | <a name="N102F6"></a><a name="cannot-find-external-graphics"></a>
|
|---|
| 881 | <h5>2.10. FOP cannot find a file for fo:external-graphics.<span style="float: right"><a href="#cannot-find-external-graphics-menu">^</a></span>
|
|---|
| 882 | </h5>
|
|---|
| 883 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 884 | <p>The src attribute of the fo:external-graphics element requires a URI, not a file name. See <a href="fo.html#external-resources">External Resources</a> for more information about specifying URIs.</p>
|
|---|
| 885 | </div>
|
|---|
| 886 | <a name="N10302"></a><a name="fonts-not-found"></a>
|
|---|
| 887 | <h5>2.11. FOP does not find my fonts.<span style="float: right"><a href="#fonts-not-found-menu">^</a></span>
|
|---|
| 888 | </h5>
|
|---|
| 889 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 890 | <p>
|
|---|
| 891 | Did you get: «Failed to read font metrics file C:\foo\arial.xml
|
|---|
| 892 | : File "C:\foo\arial.xml" not found»? The value for the
|
|---|
| 893 | metrics-file attribute in the user config file is actually an URL, not
|
|---|
| 894 | a file name. Use "file:///C:/foo/arial.xml" instead.
|
|---|
| 895 | </p>
|
|---|
| 896 | <p>
|
|---|
| 897 | If you used a relative URL, make sure your application has the working
|
|---|
| 898 | directory you expect. Currently FOP does not use the baseDir for
|
|---|
| 899 | resolving relative URLs pointing to font metric files.
|
|---|
| 900 | </p>
|
|---|
| 901 | <p>
|
|---|
| 902 | Try also setting the fontBaseDir configuration. (FIXME: add
|
|---|
| 903 | link to congfiguration page)
|
|---|
| 904 | </p>
|
|---|
| 905 | </div>
|
|---|
| 906 | </div>
|
|---|
| 907 | <a name="N10310"></a><a name="part-output"></a>
|
|---|
| 908 | <h4>3. Problems with FOP output</h4>
|
|---|
| 909 | <div style="margin-left: 0 ; border: 2px">
|
|---|
| 910 | <a name="N10314"></a><a name="leader-expansion"></a>
|
|---|
| 911 | <h5>3.1. Leaders don't work anymore in 0.20.5. Instead of
|
|---|
| 912 | filling the line, only three dots or a short ruler is
|
|---|
| 913 | output.<span style="float: right"><a href="#leader-expansion-menu">^</a></span>
|
|---|
| 914 | </h5>
|
|---|
| 915 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 916 | <p>
|
|---|
| 917 | Leaders still work, in fact they work better than ever
|
|---|
| 918 | before. You'll just have to add text-align="justify" and/or
|
|---|
| 919 | text-align-last="justify" to the block with the leader. Be
|
|---|
| 920 | sure you haven't accidentally overridden the
|
|---|
| 921 | leader-length.maximum="100%" default value.
|
|---|
| 922 | </p>
|
|---|
| 923 | <p>
|
|---|
| 924 | Earlier versions of FOP used to expand a leader to fill the
|
|---|
| 925 | rest of the line unconditionally, anything following it,
|
|---|
| 926 | like page numbers in a TOC, was actually shifted beyong the
|
|---|
| 927 | right margin.
|
|---|
| 928 | </p>
|
|---|
| 929 | <p>
|
|---|
| 930 | The new implementation uses leader-length.optimum to
|
|---|
| 931 | determine where to break the line, and expands the leader
|
|---|
| 932 | only further if the line should be filled, as indicated by
|
|---|
| 933 | the text-aling and text-align-last properties.
|
|---|
| 934 | </p>
|
|---|
| 935 | <p>
|
|---|
| 936 | Actually due to the fuzzyness of the specification both the
|
|---|
| 937 | old and the new method are conformant (although adding text
|
|---|
| 938 | after the expanded leader in the old variant never was).
|
|---|
| 939 | </p>
|
|---|
| 940 | <p>
|
|---|
| 941 | If you want to have a longer ruler or space in a
|
|---|
| 942 | non-justified line, you have to increase the
|
|---|
| 943 | leader-length.optimum property.
|
|---|
| 944 | </p>
|
|---|
| 945 | </div>
|
|---|
| 946 | <a name="N10328"></a><a name="blank-page-between-page-sequences"></a>
|
|---|
| 947 | <h5>3.2. Why does FOP insert a blank page between my page sequences?<span style="float: right"><a href="#blank-page-between-page-sequences-menu">^</a></span>
|
|---|
| 948 | </h5>
|
|---|
| 949 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 950 | <p>
|
|---|
| 951 | This is because spec conformance has been improved.
|
|---|
| 952 | </p>
|
|---|
| 953 | <p>
|
|---|
| 954 | The <a href="http://www.w3.org/TR/xsl/slice7.html#force-page-count">force-page-count
|
|---|
| 955 | property</a> controls how a FO processor pads page sequences in
|
|---|
| 956 | order to get certain page counts or last page numbers. The default is
|
|---|
| 957 | "<span class="codefrag">auto</span>". With this setting, if the next page sequence
|
|---|
| 958 | begins with an odd page number because you set the
|
|---|
| 959 | initial-page-number, and the current page sequence also ends with an
|
|---|
| 960 | odd page number, the processor inserts a blank page to keep odd and
|
|---|
| 961 | even page numbers alternating (similar for the case the current page
|
|---|
| 962 | sequence ends with an even page number and the next page sequence
|
|---|
| 963 | starts with an even page number.
|
|---|
| 964 | </p>
|
|---|
| 965 | <p>
|
|---|
| 966 | If you don't want to have this blank page, use
|
|---|
| 967 | <span class="codefrag">force-page-count="no-force"</span>.
|
|---|
| 968 | </p>
|
|---|
| 969 | </div>
|
|---|
| 970 | <a name="N10340"></a><a name="graphic-not-displayed"></a>
|
|---|
| 971 | <h5>3.3. Why is my graphic not rendered?<span style="float: right"><a href="#graphic-not-displayed-menu">^</a></span>
|
|---|
| 972 | </h5>
|
|---|
| 973 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 974 | <p>Most commonly, the external file is not being found by FOP.
|
|---|
| 975 | Check the following:</p>
|
|---|
| 976 | <ul>
|
|---|
| 977 |
|
|---|
| 978 | <li>Empty or wrong baseDir setting.</li>
|
|---|
| 979 |
|
|---|
| 980 | <li>Spelling errors in the file name (including using the wrong case).</li>
|
|---|
| 981 |
|
|---|
| 982 | <li>Security Problems (i.e. image was not delivered because FOP is not allowed to read the file).
|
|---|
| 983 | This is especially a problem if the external file is retrieved over HTTP.
|
|---|
| 984 | Possible issues include security settings on the server, server configuration, and missing cookies or other authorization information.
|
|---|
| 985 | Any easy way to check this is to cut&paste the source URL from the fo:external-graphic into the Location field of a browser <strong>on the machine where the FOP process will be running</strong>.</li>
|
|---|
| 986 |
|
|---|
| 987 | </ul>
|
|---|
| 988 | <p>Other possibilities:</p>
|
|---|
| 989 | <ul>
|
|---|
| 990 |
|
|---|
| 991 | <li>The image format is not supported or not supported completely. See <a href="graphics.html">FOP Graphics Formats</a> for a list of supported formats and related issues.</li>
|
|---|
| 992 |
|
|---|
| 993 | <li>The graphic may be too large to fit into the intended space.</li>
|
|---|
| 994 |
|
|---|
| 995 | <li>There may be something (static content) that is obscuring the graphic. (This is very rare).
|
|---|
| 996 | </li>
|
|---|
| 997 |
|
|---|
| 998 | </ul>
|
|---|
| 999 | </div>
|
|---|
| 1000 | <a name="N1036A"></a><a name="png-fails"></a>
|
|---|
| 1001 | <h5>3.4. My graphical images do not work properly.<span style="float: right"><a href="#png-fails-menu">^</a></span>
|
|---|
| 1002 | </h5>
|
|---|
| 1003 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1004 | <p>See <a href="graphics.html">FOP Graphics Formats</a> for a list of supported formats and related issues.</p>
|
|---|
| 1005 | </div>
|
|---|
| 1006 | <a name="N10376"></a><a name="graphic-resolution"></a>
|
|---|
| 1007 | <h5>3.5. Why is my graphic rendered at a different resolution than it was created?<span style="float: right"><a href="#graphic-resolution-menu">^</a></span>
|
|---|
| 1008 | </h5>
|
|---|
| 1009 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1010 | <p>See <a href="graphics.html#resolution">Graphics Resolution</a>.</p>
|
|---|
| 1011 | </div>
|
|---|
| 1012 | <a name="N10382"></a><a name="keep-with"></a>
|
|---|
| 1013 | <h5>3.6. Keep-with-next, keep-with-previous, keep-together
|
|---|
| 1014 | don't work.<span style="float: right"><a href="#keep-with-menu">^</a></span>
|
|---|
| 1015 | </h5>
|
|---|
| 1016 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1017 | <p>
|
|---|
| 1018 | These properties are not implemented, except on table rows. In
|
|---|
| 1019 | order to take advantage of them, you have to nest stuff to be
|
|---|
| 1020 | kept together in a table.
|
|---|
| 1021 | </p>
|
|---|
| 1022 | <p>
|
|---|
| 1023 | The concept is called “blind table”. The table is used for
|
|---|
| 1024 | pure layout reasons and not obvious in the output.
|
|---|
| 1025 | </p>
|
|---|
| 1026 | <p>
|
|---|
| 1027 | An example of an image and the image caption to be kept together:
|
|---|
| 1028 | </p>
|
|---|
| 1029 | <pre class="code"><fo:table table-layout="fixed" width="100%">
|
|---|
| 1030 | <fo:table-column column-width="proportional-column-width(1)"/>
|
|---|
| 1031 | <fo:table-body>
|
|---|
| 1032 | <fo:table-row keep-with-next="always">
|
|---|
| 1033 | <fo:table-cell>
|
|---|
| 1034 | <fo:block>
|
|---|
| 1035 | <fo:external-graphic src="foo.jpg"/>
|
|---|
| 1036 | </fo:block>
|
|---|
| 1037 | </fo:table-cell>
|
|---|
| 1038 | </fo:table-row>
|
|---|
| 1039 | <fo:table-row>
|
|---|
| 1040 | <fo:table-cell>
|
|---|
| 1041 | <fo:block>Image Caption</fo:block>
|
|---|
| 1042 | </fo:table-cell>
|
|---|
| 1043 | </fo:table-row>
|
|---|
| 1044 | </fo:table-body>
|
|---|
| 1045 | </fo:table></pre>
|
|---|
| 1046 | </div>
|
|---|
| 1047 | <a name="N10394"></a><a name="table-missing"></a>
|
|---|
| 1048 | <h5>3.7. My tables are missing, or missing their content.<span style="float: right"><a href="#table-missing-menu">^</a></span>
|
|---|
| 1049 | </h5>
|
|---|
| 1050 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1051 | <p>
|
|---|
| 1052 | Check for fo:table-body around the rows. FOP up to 0.20.4 doesn't
|
|---|
| 1053 | raise an error if it is omitted, it just drops the content. More
|
|---|
| 1054 | recent releases will catch this problem.
|
|---|
| 1055 | </p>
|
|---|
| 1056 | <p>
|
|---|
| 1057 | Also, the fo:table-with-caption element is not implemented, tables
|
|---|
| 1058 | within such an element are dropped too. FOP generates an error
|
|---|
| 1059 | message for this problem. The DocBook style sheets generate
|
|---|
| 1060 | fo:table-with-caption elements, so watch out.
|
|---|
| 1061 | </p>
|
|---|
| 1062 | </div>
|
|---|
| 1063 | <a name="N1039F"></a><a name="cells-overflow"></a>
|
|---|
| 1064 | <h5>3.8. Text overflowing table cells and the like is not clipped. Long
|
|---|
| 1065 | text flows into adjacent cells/block, obscuring stuff there.<span style="float: right"><a href="#cells-overflow-menu">^</a></span>
|
|---|
| 1066 | </h5>
|
|---|
| 1067 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1068 | <p>
|
|---|
| 1069 | Clipping as specified by the <span class="codefrag">overflow="hidden"</span> is not yet
|
|---|
| 1070 | implemented. If you have long words overflowing table cells, try to
|
|---|
| 1071 | get them hyphenated. Artificial names like product identifications or
|
|---|
| 1072 | long numbers usually aren't hyphenated. You can try special processing
|
|---|
| 1073 | at XSLT level, like
|
|---|
| 1074 | </p>
|
|---|
| 1075 | <ul>
|
|---|
| 1076 |
|
|---|
| 1077 | <li>
|
|---|
| 1078 | clip long text,
|
|---|
| 1079 | </li>
|
|---|
| 1080 |
|
|---|
| 1081 | <li>
|
|---|
| 1082 | explicit wrapping+clipping,
|
|---|
| 1083 | </li>
|
|---|
| 1084 |
|
|---|
| 1085 | <li>
|
|---|
| 1086 | insert zero width spaces (U+200B or &#x200B;) to allow FOP to
|
|---|
| 1087 | wrap.
|
|---|
| 1088 | </li>
|
|---|
| 1089 |
|
|---|
| 1090 | </ul>
|
|---|
| 1091 | <p>
|
|---|
| 1092 | Check the <a href="http://dpawson.co.uk/xsl">XSL FAQ</a> and the
|
|---|
| 1093 | <a href="http://www.mulberrytech.com/xsl/xsl-list/">XSL list
|
|---|
| 1094 | archive</a> for how to perform these tasks.
|
|---|
| 1095 | </p>
|
|---|
| 1096 | </div>
|
|---|
| 1097 | <a name="N103C1"></a><a name="page-number-align"></a>
|
|---|
| 1098 | <h5>3.9. Page numbers are not properly right aligned.<span style="float: right"><a href="#page-number-align-menu">^</a></span>
|
|---|
| 1099 | </h5>
|
|---|
| 1100 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1101 | <p>
|
|---|
| 1102 | This happens for fo:page-number-citation elements if the
|
|---|
| 1103 | citation occurs before FOP formatted the requested page,
|
|---|
| 1104 | usually in TOC or index pages. It is caused by the problem
|
|---|
| 1105 | that FOP has to guess how much space the yet unknown page
|
|---|
| 1106 | number will occupy, and usually the guesses are somewhat
|
|---|
| 1107 | off.
|
|---|
| 1108 | </p>
|
|---|
| 1109 | <p>
|
|---|
| 1110 | The most recent FOP releases should have this problem
|
|---|
| 1111 | fixed. Check whether you can upgrade.
|
|---|
| 1112 | </p>
|
|---|
| 1113 | </div>
|
|---|
| 1114 | <a name="N103CC"></a><a name="hyphenation-fails"></a>
|
|---|
| 1115 | <h5>3.10. Hyphenation does not work.<span style="float: right"><a href="#hyphenation-fails-menu">^</a></span>
|
|---|
| 1116 | </h5>
|
|---|
| 1117 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1118 | <p>
|
|---|
| 1119 | Set the language attribute somewhere and explicitly enable hyphenation.
|
|---|
| 1120 | Check whether you use a language for which hyphenation is supported.
|
|---|
| 1121 | Supported languages can be deduced from the files in the {fop-dir}/src/hyph
|
|---|
| 1122 | directory of the FOP source distribution. If you want to use a language
|
|---|
| 1123 | FOP currently doesn't hyphenate, please see the
|
|---|
| 1124 | <a href="configuration.html#hyphenation">Configuration page</a>.
|
|---|
| 1125 | </p>
|
|---|
| 1126 | <p>
|
|---|
| 1127 | Set the language (on fo:page-sequence, fo:block or fo:character):
|
|---|
| 1128 | </p>
|
|---|
| 1129 | <pre class="code"><fo:page-sequence language="fi"></pre>
|
|---|
| 1130 | <p>
|
|---|
| 1131 | Enable hyphenation on a block:
|
|---|
| 1132 | </p>
|
|---|
| 1133 | <pre class="code"><fo:block hyphenate="true"></pre>
|
|---|
| 1134 | </div>
|
|---|
| 1135 | </div>
|
|---|
| 1136 | <a name="N103E6"></a><a name="part-embedding"></a>
|
|---|
| 1137 | <h4>4. Embedding FOP. Using FOP in a servlet.</h4>
|
|---|
| 1138 | <div style="margin-left: 0 ; border: 2px">
|
|---|
| 1139 | <a name="N103EA"></a><a name="servlet"></a>
|
|---|
| 1140 | <h5>4.1. How do I use FOP in a servlet?<span style="float: right"><a href="#servlet-menu">^</a></span>
|
|---|
| 1141 | </h5>
|
|---|
| 1142 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1143 | <p>
|
|---|
| 1144 | See <a href="embedding.html#servlet">Using FOP in a Servlet</a>.
|
|---|
| 1145 | </p>
|
|---|
| 1146 | </div>
|
|---|
| 1147 | <a name="N103F6"></a><a name="servlet-with-xslt"></a>
|
|---|
| 1148 | <h5>4.2. How do I use FOP in a servlet with an XSLT
|
|---|
| 1149 | transformation?<span style="float: right"><a href="#servlet-with-xslt-menu">^</a></span>
|
|---|
| 1150 | </h5>
|
|---|
| 1151 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1152 | <p>
|
|---|
| 1153 | See <a href="embedding.html#servlet-transform">Using FOP in a Servlet with XSLT Transformation</a>.
|
|---|
| 1154 | </p>
|
|---|
| 1155 | </div>
|
|---|
| 1156 | <a name="N10402"></a><a name="servlet-xslt-params"></a>
|
|---|
| 1157 | <h5>4.3. How do I pass parameters to the XSLT transformation?<span style="float: right"><a href="#servlet-xslt-params-menu">^</a></span>
|
|---|
| 1158 | </h5>
|
|---|
| 1159 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1160 | <p>
|
|---|
| 1161 | See <a href="embedding.html#servlet-transform">Using FOP in a Servlet with XSLT Transformation</a>.
|
|---|
| 1162 | </p>
|
|---|
| 1163 | </div>
|
|---|
| 1164 | <a name="N1040E"></a><a name="servlet-nonstd-fonts"></a>
|
|---|
| 1165 | <h5>4.4. How do I use my own fonts when running FOP from a
|
|---|
| 1166 | servlet?<span style="float: right"><a href="#servlet-nonstd-fonts-menu">^</a></span>
|
|---|
| 1167 | </h5>
|
|---|
| 1168 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1169 | <p>
|
|---|
| 1170 | Declare the fonts in the <span class="codefrag">userconfig.xml</span> file as usual.
|
|---|
| 1171 | See <a href="#usercfg">loading the user configuration file</a> for further details.
|
|---|
| 1172 | </p>
|
|---|
| 1173 | </div>
|
|---|
| 1174 | <a name="N1041D"></a><a name="servlet-baseDir"></a>
|
|---|
| 1175 | <h5>4.5. How do I set the baseDir property in a servlet environment?<span style="float: right"><a href="#servlet-baseDir-menu">^</a></span>
|
|---|
| 1176 | </h5>
|
|---|
| 1177 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1178 | <p>
|
|---|
| 1179 | See <a href="embedding.html#config-internal">Setting the Configuration Programmatically</a>.
|
|---|
| 1180 | </p>
|
|---|
| 1181 | </div>
|
|---|
| 1182 | <a name="N10429"></a><a name="usercfg"></a>
|
|---|
| 1183 | <h5>4.6. How do I use a user configuration file from a servlet?<span style="float: right"><a href="#usercfg-menu">^</a></span>
|
|---|
| 1184 | </h5>
|
|---|
| 1185 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1186 | <p>
|
|---|
| 1187 | See <a href="embedding.html#config-external">Using a Configuration File in an Embedded App</a>.
|
|---|
| 1188 | </p>
|
|---|
| 1189 | </div>
|
|---|
| 1190 | <a name="N10435"></a><a name="servlet-NoClassDefFound"></a>
|
|---|
| 1191 | <h5>4.7. I keep getting NoClassDefFound and other exceptions. How do I
|
|---|
| 1192 | get FOP working for various servlet engines?<span style="float: right"><a href="#servlet-NoClassDefFound-menu">^</a></span>
|
|---|
| 1193 | </h5>
|
|---|
| 1194 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1195 | <p>
|
|---|
| 1196 | See <a href="embedding.html#servlet-engine">Servlet Engines</a>.
|
|---|
| 1197 | </p>
|
|---|
| 1198 | </div>
|
|---|
| 1199 | <a name="N10441"></a><a name="multithreaded"></a>
|
|---|
| 1200 | <h5>4.8. Can FOP be used in multithreaded environments?<span style="float: right"><a href="#multithreaded-menu">^</a></span>
|
|---|
| 1201 | </h5>
|
|---|
| 1202 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1203 | <p>
|
|---|
| 1204 | See <a href="embedding.html#multithreading">Multithreading FOP</a>.
|
|---|
| 1205 | </p>
|
|---|
| 1206 | </div>
|
|---|
| 1207 | </div>
|
|---|
| 1208 | <a name="N1044D"></a><a name="part-svg"></a>
|
|---|
| 1209 | <h4>5. SVG specific questions</h4>
|
|---|
| 1210 | <div style="margin-left: 0 ; border: 2px">
|
|---|
| 1211 | <a name="N10451"></a><a name="svg-text"></a>
|
|---|
| 1212 | <h5>5.1. The rendering of SVG text in my PDF is of poor quality.
|
|---|
| 1213 | Can I control this?<span style="float: right"><a href="#svg-text-menu">^</a></span>
|
|---|
| 1214 | </h5>
|
|---|
| 1215 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1216 | <p>See <a href="graphics.html#svg-pdf-text">Placing SVG Text into PDF</a>.</p>
|
|---|
| 1217 | </div>
|
|---|
| 1218 | <a name="N1045D"></a><a name="svg-headless"></a>
|
|---|
| 1219 | <h5>5.2. How do I use FOP with SVG on headless servers?<span style="float: right"><a href="#svg-headless-menu">^</a></span>
|
|---|
| 1220 | </h5>
|
|---|
| 1221 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1222 | <p>See <a href="graphics.html#batik">FOP: Graphics (Batik)</a>.</p>
|
|---|
| 1223 | </div>
|
|---|
| 1224 | <a name="N10469"></a><a name="svghangs"></a>
|
|---|
| 1225 | <h5>5.3. FOP does not exit if a SVG is included.<span style="float: right"><a href="#svghangs-menu">^</a></span>
|
|---|
| 1226 | </h5>
|
|---|
| 1227 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1228 | <p>
|
|---|
| 1229 | Applies to older FOP versions and JDK 1.3 and older. That's because
|
|---|
| 1230 | there is an AWT thread hanging around. The solution is to put a
|
|---|
| 1231 | System.exit(0) somewhere.
|
|---|
| 1232 | </p>
|
|---|
| 1233 | </div>
|
|---|
| 1234 | <a name="N10471"></a><a name="svg-url"></a>
|
|---|
| 1235 | <h5>5.4. I have problems with SVG referring to gradients etc. using
|
|---|
| 1236 | "uri(#stuff)". I get a MalformedURLException.<span style="float: right"><a href="#svg-url-menu">^</a></span>
|
|---|
| 1237 | </h5>
|
|---|
| 1238 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1239 | <p>
|
|---|
| 1240 | This is really a "resolving relative URI" problem with some
|
|---|
| 1241 | twists. The problem is that the <span class="codefrag">#stuff</span> URL fragment
|
|---|
| 1242 | identifier is resolved within the current SVG document. So the
|
|---|
| 1243 | reference must be valid within the XML subset and it cannot
|
|---|
| 1244 | reference other SVG documents in the same XML file. Some options
|
|---|
| 1245 | to try:
|
|---|
| 1246 | </p>
|
|---|
| 1247 | <ul>
|
|---|
| 1248 |
|
|---|
| 1249 | <li>
|
|---|
| 1250 | Put the SVG into a separate file and use it with
|
|---|
| 1251 | fo:external-graphics.
|
|---|
| 1252 | </li>
|
|---|
| 1253 |
|
|---|
| 1254 | <li>
|
|---|
| 1255 | Use a separate SVG file which contains only the gradient (and
|
|---|
| 1256 | perhaps other SVG stuff you want to reference) and point an absolute
|
|---|
| 1257 | URL to it:
|
|---|
| 1258 | <span class="codefrag">fill="url(file:///c:/refstuff/grad.svg#PurpleToWhite)"</span>.
|
|---|
| 1259 | </li>
|
|---|
| 1260 |
|
|---|
| 1261 | <li>
|
|---|
| 1262 | Same as above but use a relative URL:
|
|---|
| 1263 | <span class="codefrag">fill="url(grad.svg#PurpleToWhite)"</span>. This may be easier
|
|---|
| 1264 | to deploy.
|
|---|
| 1265 | </li>
|
|---|
| 1266 |
|
|---|
| 1267 | <li>
|
|---|
| 1268 | Make sure that the reference is valid in the current SVG document.
|
|---|
| 1269 | </li>
|
|---|
| 1270 |
|
|---|
| 1271 | </ul>
|
|---|
| 1272 | <p>
|
|---|
| 1273 | In any case, the referenced stuff has to be pointed to by an URL. It
|
|---|
| 1274 | doesn't necessarily have to be a file URL, HTTP should also
|
|---|
| 1275 | work. Also, expect a performance hit in all cases, because another XML
|
|---|
| 1276 | file has to be retrieved and parsed.
|
|---|
| 1277 | </p>
|
|---|
| 1278 | <p>
|
|---|
| 1279 | Ultimately, both FOP and especially Batik should be fixed to make
|
|---|
| 1280 | your code work as expected, but this will not only take some time
|
|---|
| 1281 | but also some effort by a standard committee in order to make the
|
|---|
| 1282 | semantics of this kind of references in embedded SVG clearer.
|
|---|
| 1283 | </p>
|
|---|
| 1284 | <p>See also <a href="#MalformedURL">MalformedURLException</a>
|
|---|
| 1285 | </p>
|
|---|
| 1286 | </div>
|
|---|
| 1287 | <a name="N1049D"></a><a name="svg-scaling"></a>
|
|---|
| 1288 | <h5>5.5. Why is my SVG rendered at a size different from that specified in my fo:external-graphic element?<span style="float: right"><a href="#svg-scaling-menu">^</a></span>
|
|---|
| 1289 | </h5>
|
|---|
| 1290 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1291 | <p>See <a href="graphics.html#svg-scaling">SVG Scaling</a>.</p>
|
|---|
| 1292 | </div>
|
|---|
| 1293 | </div>
|
|---|
| 1294 | <a name="N104A9"></a><a name="part-pdf"></a>
|
|---|
| 1295 | <h4>6. PDF specific (includes Acrobat peculiarities)</h4>
|
|---|
| 1296 | <div style="margin-left: 0 ; border: 2px">
|
|---|
| 1297 | <a name="N104AD"></a><a name="pdf-embed-font"></a>
|
|---|
| 1298 | <h5>6.1. How do I embed fonts in PDF?<span style="float: right"><a href="#pdf-embed-font-menu">^</a></span>
|
|---|
| 1299 | </h5>
|
|---|
| 1300 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1301 | <p>
|
|---|
| 1302 | See the <a href="fonts.html">Fonts</a> page for information
|
|---|
| 1303 | about embedding fonts.
|
|---|
| 1304 | </p>
|
|---|
| 1305 | </div>
|
|---|
| 1306 | <a name="N104B9"></a><a name="pdf-characters"></a>
|
|---|
| 1307 | <h5>6.2. Some characters are not displayed, or displayed incorrectly, or
|
|---|
| 1308 | displayed as “#”.<span style="float: right"><a href="#pdf-characters-menu">^</a></span>
|
|---|
| 1309 | </h5>
|
|---|
| 1310 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1311 | <p>
|
|---|
| 1312 | This usually means the selected font doesn't have a glyph
|
|---|
| 1313 | for the character.
|
|---|
| 1314 | </p>
|
|---|
| 1315 | <p>
|
|---|
| 1316 | The standard text fonts supplied with Acrobat Reader have
|
|---|
| 1317 | mostly glyphs for characters from the ISO Latin 1 character
|
|---|
| 1318 | set. For a variety of reasons, even those are not completely
|
|---|
| 1319 | guaranteed to work, for example you can't use the fi
|
|---|
| 1320 | ligature from the standard serif font. Check the <a href="output.html#pdf-fonts">overview</a> for the default
|
|---|
| 1321 | PDF fonts.
|
|---|
| 1322 | </p>
|
|---|
| 1323 | <p>
|
|---|
| 1324 | If you use your own fonts, the font must have a glyph for
|
|---|
| 1325 | the desired character. Furthermore the font must be
|
|---|
| 1326 | available on the machine where the PDF is viewed or it must
|
|---|
| 1327 | have been embedded in the PDF file. See <a href="fonts.html">embedding fonts</a>.
|
|---|
| 1328 | </p>
|
|---|
| 1329 | <p>
|
|---|
| 1330 | For most symbols, it is better to select the symbol font
|
|---|
| 1331 | explicitely, for example in order to get the symbol for the
|
|---|
| 1332 | mathematical empty set, write:
|
|---|
| 1333 | </p>
|
|---|
| 1334 | <pre class="code"><fo:inline font-family="Symbol">&#x2205;</fo:inline></pre>
|
|---|
| 1335 | <p>
|
|---|
| 1336 | The "#" shows up if the selected font does not define a glyph for the
|
|---|
| 1337 | required character, for example if you try:
|
|---|
| 1338 | </p>
|
|---|
| 1339 | <pre class="code"><fo:inline font-family="Helvetica">&#x2205;</fo:inline></pre>
|
|---|
| 1340 | </div>
|
|---|
| 1341 | <a name="N104DD"></a><a name="pdf-postprocess"></a>
|
|---|
| 1342 | <h5>6.3. What tools are available for post-processing my PDF document?<span style="float: right"><a href="#pdf-postprocess-menu">^</a></span>
|
|---|
| 1343 | </h5>
|
|---|
| 1344 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1345 | <p>See <a href="output.html#pdf-postprocess">PDF Post-processing</a>.</p>
|
|---|
| 1346 | </div>
|
|---|
| 1347 | <a name="N104E9"></a><a name="pdf-security"></a>
|
|---|
| 1348 | <h5>6.4. How do I add security features (encryption, disable printing)
|
|---|
| 1349 | to my PDF document?<span style="float: right"><a href="#pdf-security-menu">^</a></span>
|
|---|
| 1350 | </h5>
|
|---|
| 1351 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1352 | <p>
|
|---|
| 1353 | See <a href="pdfencryption.html">PDF Encryption</a>.
|
|---|
| 1354 | See also <a href="output.html#pdf-postprocess">PDF Post-processing</a>.
|
|---|
| 1355 | </p>
|
|---|
| 1356 | </div>
|
|---|
| 1357 | <a name="N104F9"></a><a name="pdf-doc-properties"></a>
|
|---|
| 1358 | <h5>6.5. How do I add document properties (title, author, etc.) to my
|
|---|
| 1359 | PDF document?<span style="float: right"><a href="#pdf-doc-properties-menu">^</a></span>
|
|---|
| 1360 | </h5>
|
|---|
| 1361 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1362 | <p>See <a href="output.html#pdf-postprocess">PDF Post-processing</a>.</p>
|
|---|
| 1363 | </div>
|
|---|
| 1364 | <a name="N10505"></a><a name="pdf-watermark"></a>
|
|---|
| 1365 | <h5>6.6. How do I add watermarks to my PDF document?<span style="float: right"><a href="#pdf-watermark-menu">^</a></span>
|
|---|
| 1366 | </h5>
|
|---|
| 1367 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1368 | <p>See <a href="output.html#pdf-watermark">PDF Watermarks</a>.</p>
|
|---|
| 1369 | </div>
|
|---|
| 1370 | <a name="N10511"></a><a name="pdf-print-contortion"></a>
|
|---|
| 1371 | <h5>6.7. The PDF is printed contorted!<span style="float: right"><a href="#pdf-print-contortion-menu">^</a></span>
|
|---|
| 1372 | </h5>
|
|---|
| 1373 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1374 | <p>
|
|---|
| 1375 | Check the paper size in Acrobat settings and the "fit to page" print
|
|---|
| 1376 | setting. Contorted printing is often caused by a mismatched paper
|
|---|
| 1377 | format, for example if the setting is "US Letter" but the PDF was
|
|---|
| 1378 | made for A4. Sometimes also the printer driver interferes, check its
|
|---|
| 1379 | settings too.
|
|---|
| 1380 | </p>
|
|---|
| 1381 | </div>
|
|---|
| 1382 | <a name="N10519"></a><a name="pdf-bookmark-display"></a>
|
|---|
| 1383 | <h5>6.8. How do I control the Acrobat bookmark display?<span style="float: right"><a href="#pdf-bookmark-display-menu">^</a></span>
|
|---|
| 1384 | </h5>
|
|---|
| 1385 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1386 | <p>
|
|---|
| 1387 | FOP does not currently support this feature. Possible workarounds
|
|---|
| 1388 | include those mentioned in the <a href="#PDF-postprocess">PDF
|
|---|
| 1389 | Post-Processing FAQ</a>.
|
|---|
| 1390 | </p>
|
|---|
| 1391 | </div>
|
|---|
| 1392 | </div>
|
|---|
| 1393 | <a name="N10525"></a><a name="part-iex"></a>
|
|---|
| 1394 | <h4>7. IEx specific stuff</h4>
|
|---|
| 1395 | <div style="margin-left: 0 ; border: 2px">
|
|---|
| 1396 | <a name="N10529"></a><a name="iex-servlet-multiple"></a>
|
|---|
| 1397 | <h5>7.1. The FOP servlet is called multiple times!<span style="float: right"><a href="#iex-servlet-multiple-menu">^</a></span>
|
|---|
| 1398 | </h5>
|
|---|
| 1399 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1400 | <p>
|
|---|
| 1401 | This is a problem of Internet Explorer requesting the content several
|
|---|
| 1402 | times. Please see the <a href="servlets.html#ie">notes on Internet Explorer</a>
|
|---|
| 1403 | for more information.
|
|---|
| 1404 | </p>
|
|---|
| 1405 | </div>
|
|---|
| 1406 | <a name="N10535"></a><a name="iex-pdf-print-from-browser"></a>
|
|---|
| 1407 | <h5>7.2. How do I print PDF directly from the browser?<span style="float: right"><a href="#iex-pdf-print-from-browser-menu">^</a></span>
|
|---|
| 1408 | </h5>
|
|---|
| 1409 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1410 | <p>
|
|---|
| 1411 | It depends whether you mean "printing to a printer under control of
|
|---|
| 1412 | the server" or "printing on the client's printer".
|
|---|
| 1413 | </p>
|
|---|
| 1414 | <p>
|
|---|
| 1415 | For the first problem, look at the print servlet in the FOP
|
|---|
| 1416 | examples. You'll have to gather any printer settings in a HTML form
|
|---|
| 1417 | and send it to the server.
|
|---|
| 1418 | </p>
|
|---|
| 1419 | <p>
|
|---|
| 1420 | For the second task, you can use some client side script to start
|
|---|
| 1421 | Acrobat Reader in print mode, or use a Java applet based on the FOP
|
|---|
| 1422 | print servlet. This depends heavily on the client installation and
|
|---|
| 1423 | should not relied on except in tightly controlled environments.
|
|---|
| 1424 | </p>
|
|---|
| 1425 | <p>
|
|---|
| 1426 | See also http://marc.theaimsgroup.com/?l=fop-dev&m=101065988325115&w=2
|
|---|
| 1427 | </p>
|
|---|
| 1428 | </div>
|
|---|
| 1429 | </div>
|
|---|
| 1430 | <a name="N10546"></a><a name="part-input"></a>
|
|---|
| 1431 | <h4>8. General questions regarding XSLT, XSLFO, and basic XML</h4>
|
|---|
| 1432 | <div style="margin-left: 0 ; border: 2px">
|
|---|
| 1433 | <a name="N1054A"></a><a name="fo-center"></a>
|
|---|
| 1434 | <h5>8.1. (FO) How do I vertically center an image or a table (or
|
|---|
| 1435 | whatever)?<span style="float: right"><a href="#fo-center-menu">^</a></span>
|
|---|
| 1436 | </h5>
|
|---|
| 1437 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1438 | <p>
|
|---|
| 1439 | See <a href="fo.html#fo-center-vertical">XSL-FO Vertical Centering</a>.
|
|---|
| 1440 | </p>
|
|---|
| 1441 | </div>
|
|---|
| 1442 | <a name="N10556"></a><a name="fo-center-table-horizon"></a>
|
|---|
| 1443 | <h5>8.2. (FO) How do I center a table horizontally?<span style="float: right"><a href="#fo-center-table-horizon-menu">^</a></span>
|
|---|
| 1444 | </h5>
|
|---|
| 1445 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1446 | <p>
|
|---|
| 1447 | See <a href="fo.html#fo-center-table-horizon">XSL-FO Horizontal Centering (Tables)</a>.
|
|---|
| 1448 | </p>
|
|---|
| 1449 | </div>
|
|---|
| 1450 | <a name="N10562"></a><a name="fo-page-outer"></a>
|
|---|
| 1451 | <h5>8.3. (FO) How to get page numbers printed on the "outer side" of the
|
|---|
| 1452 | page (for books, for example)?<span style="float: right"><a href="#fo-page-outer-menu">^</a></span>
|
|---|
| 1453 | </h5>
|
|---|
| 1454 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1455 | <p>
|
|---|
| 1456 | See <a href="fo.html#fo-oddeven">Recto/Verso Static Content Differences</a>.
|
|---|
| 1457 | </p>
|
|---|
| 1458 | </div>
|
|---|
| 1459 | <a name="N1056E"></a><a name="oddeven"></a>
|
|---|
| 1460 | <h5>8.4. (FO) How do I use different static content for odd and even
|
|---|
| 1461 | pages?<span style="float: right"><a href="#oddeven-menu">^</a></span>
|
|---|
| 1462 | </h5>
|
|---|
| 1463 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1464 | <p>
|
|---|
| 1465 | See <a href="fo.html#fo-oddeven">Recto/Verso Static Content Differences</a>.
|
|---|
| 1466 | </p>
|
|---|
| 1467 | </div>
|
|---|
| 1468 | <a name="N1057A"></a><a name="fo-first-page-header"></a>
|
|---|
| 1469 | <h5>8.5. (FO) How do I get a special header on the first page?<span style="float: right"><a href="#fo-first-page-header-menu">^</a></span>
|
|---|
| 1470 | </h5>
|
|---|
| 1471 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1472 | <p>
|
|---|
| 1473 | See <a href="fo.html#fo-first-page">Making the First Page Special</a>.
|
|---|
| 1474 | </p>
|
|---|
| 1475 | </div>
|
|---|
| 1476 | <a name="N10586"></a><a name="fo-omit-headers"></a>
|
|---|
| 1477 | <h5>8.6. (FO) How do I omit my headers on a blank page? How do I write
|
|---|
| 1478 | "This page is left blank" on an intentionally blank page?<span style="float: right"><a href="#fo-omit-headers-menu">^</a></span>
|
|---|
| 1479 | </h5>
|
|---|
| 1480 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1481 | <p>
|
|---|
| 1482 | See <a href="fo.html#fo-blank-pages">Blank Pages</a>.
|
|---|
| 1483 | </p>
|
|---|
| 1484 | </div>
|
|---|
| 1485 | <a name="N10592"></a><a name="fo-special-symbols"></a>
|
|---|
| 1486 | <h5>8.7. (FO) How do I print an Euro sign, a checkbox or other some other
|
|---|
| 1487 | special symbols?<span style="float: right"><a href="#fo-special-symbols-menu">^</a></span>
|
|---|
| 1488 | </h5>
|
|---|
| 1489 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1490 | <p>
|
|---|
| 1491 | See <a href="fo.html#xml-special-chars">Special Characters</a>.
|
|---|
| 1492 | </p>
|
|---|
| 1493 | </div>
|
|---|
| 1494 | <a name="N1059E"></a><a name="fo-preformat"></a>
|
|---|
| 1495 | <h5>8.8. (FO) How do I keep linebreaks and hard spaces? How do I get
|
|---|
| 1496 | preformatted text displayed as expected?<span style="float: right"><a href="#fo-preformat-menu">^</a></span>
|
|---|
| 1497 | </h5>
|
|---|
| 1498 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1499 | <p>
|
|---|
| 1500 | See <a href="fo.html#fo-preformat">Preformatting Content</a>.
|
|---|
| 1501 | </p>
|
|---|
| 1502 | </div>
|
|---|
| 1503 | <a name="N105AA"></a><a name="fo-total-pages"></a>
|
|---|
| 1504 | <h5>8.9. (FO) How do I print the total number of pages, for example "page 1
|
|---|
| 1505 | of 12"<span style="float: right"><a href="#fo-total-pages-menu">^</a></span>
|
|---|
| 1506 | </h5>
|
|---|
| 1507 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1508 | <p>
|
|---|
| 1509 | See <a href="fo.html#fo-total-pages">Total Document Pages</a>.
|
|---|
| 1510 | </p>
|
|---|
| 1511 | </div>
|
|---|
| 1512 | <a name="N105B6"></a><a name="fo-region-overlap"></a>
|
|---|
| 1513 | <h5>8.10. (FO) The header overlaps body content. The body extends into
|
|---|
| 1514 | the footer.<span style="float: right"><a href="#fo-region-overlap-menu">^</a></span>
|
|---|
| 1515 | </h5>
|
|---|
| 1516 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1517 | <p>
|
|---|
| 1518 | See <a href="fo.html#fo-region-align">Aligning Regions</a>.
|
|---|
| 1519 | </p>
|
|---|
| 1520 | </div>
|
|---|
| 1521 | <a name="N105C2"></a><a name="fo-lines"></a>
|
|---|
| 1522 | <h5>8.11. (FO) How do I get lines in the document, as separators, side
|
|---|
| 1523 | bars or folding marks?<span style="float: right"><a href="#fo-lines-menu">^</a></span>
|
|---|
| 1524 | </h5>
|
|---|
| 1525 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1526 | <p>
|
|---|
| 1527 | See <a href="fo.html#fo-lines">Drawing Lines</a>.
|
|---|
| 1528 | </p>
|
|---|
| 1529 | </div>
|
|---|
| 1530 | <a name="N105CE"></a><a name="fo-validate"></a>
|
|---|
| 1531 | <h5>8.12. (FO) How do I validate my FO document?<span style="float: right"><a href="#fo-validate-menu">^</a></span>
|
|---|
| 1532 | </h5>
|
|---|
| 1533 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1534 | <p>
|
|---|
| 1535 | See <a href="fo.html#fo-validate">Validating XSL-FO</a>.
|
|---|
| 1536 | </p>
|
|---|
| 1537 | </div>
|
|---|
| 1538 | <a name="N105DA"></a><a name="xml-non-breaking-space"></a>
|
|---|
| 1539 | <h5>8.13. (XML) How do I get a non-breaking space in FO? There are complaints about &nbsp;.<span style="float: right"><a href="#xml-non-breaking-space-menu">^</a></span>
|
|---|
| 1540 | </h5>
|
|---|
| 1541 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1542 | <p>
|
|---|
| 1543 | See <a href="fo.html#xml-special-chars">XML Special Characters</a>.
|
|---|
| 1544 | </p>
|
|---|
| 1545 | </div>
|
|---|
| 1546 | <a name="N105E9"></a><a name="xml-undefined-entities"></a>
|
|---|
| 1547 | <h5>8.14. (XML) How do I enter special characters in XML? There are complaints about undefined entities, such as &uuml;, which work in HTML. <span style="float: right"><a href="#xml-undefined-entities-menu">^</a></span>
|
|---|
| 1548 | </h5>
|
|---|
| 1549 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1550 | <p>
|
|---|
| 1551 | See <a href="fo.html#xml-special-chars">XML Special Characters</a>.
|
|---|
| 1552 | </p>
|
|---|
| 1553 | </div>
|
|---|
| 1554 | <a name="N105F8"></a><a name="xml-illegal-entities"></a>
|
|---|
| 1555 | <h5>8.15. (XML) There are complaints about illegal characters and entities
|
|---|
| 1556 | in the input.<span style="float: right"><a href="#xml-illegal-entities-menu">^</a></span>
|
|---|
| 1557 | </h5>
|
|---|
| 1558 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1559 | <p>
|
|---|
| 1560 | See <a href="fo.html#xml-entity-chars">Using HTML Character Names</a>.
|
|---|
| 1561 | </p>
|
|---|
| 1562 | </div>
|
|---|
| 1563 | <a name="N10604"></a><a name="xml-illegal-chars"></a>
|
|---|
| 1564 | <h5>8.16. (XML) There are complaints about illegal bytes or characters in
|
|---|
| 1565 | the input. There are odd characters in the result.<span style="float: right"><a href="#xml-illegal-chars-menu">^</a></span>
|
|---|
| 1566 | </h5>
|
|---|
| 1567 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1568 | <p>
|
|---|
| 1569 | See <a href="fo.html#xml-encoding">XML Encoding Issues</a>.
|
|---|
| 1570 | </p>
|
|---|
| 1571 | </div>
|
|---|
| 1572 | </div>
|
|---|
| 1573 | <a name="N10610"></a><a name="part-help"></a>
|
|---|
| 1574 | <h4>9. General suggestions. How to solve problems.</h4>
|
|---|
| 1575 | <div style="margin-left: 0 ; border: 2px">
|
|---|
| 1576 | <a name="N10614"></a><a name="bugs"></a>
|
|---|
| 1577 | <h5>9.1. I think I have found a bug in FOP. What should I do?<span style="float: right"><a href="#bugs-menu">^</a></span>
|
|---|
| 1578 | </h5>
|
|---|
| 1579 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1580 | <p>
|
|---|
| 1581 | See <a href="bugs.html">the Bugs page</a> for information about
|
|---|
| 1582 | bugs already reported and how to report new ones.
|
|---|
| 1583 | </p>
|
|---|
| 1584 | </div>
|
|---|
| 1585 | <a name="N10620"></a><a name="postquestions"></a>
|
|---|
| 1586 | <h5>9.2. I have questions that are not addressed in this FAQ. Where
|
|---|
| 1587 | should I post them?<span style="float: right"><a href="#postquestions-menu">^</a></span>
|
|---|
| 1588 | </h5>
|
|---|
| 1589 | <div style="margin-left: 15 ; border: 2px">
|
|---|
| 1590 | <ul>
|
|---|
| 1591 |
|
|---|
| 1592 | <li>If your question is a development-related question, please see the <a href="dev/faq.html">Developer FAQs</a>.</li>
|
|---|
| 1593 |
|
|---|
| 1594 | <li>
|
|---|
| 1595 | If you have a runtime exception or other runtime problem:
|
|---|
| 1596 | <ul>
|
|---|
| 1597 |
|
|---|
| 1598 | <li>
|
|---|
| 1599 | double-check the <a href="#part-running">Runtime FAQs</a>.
|
|---|
| 1600 | </li>
|
|---|
| 1601 |
|
|---|
| 1602 | <li>
|
|---|
| 1603 | ClassNotFoundException, NoSuchMethodException and
|
|---|
| 1604 | NoSuchFieldException problems are almost always a problem with
|
|---|
| 1605 | the local environment. Try to get local help first.
|
|---|
| 1606 | </li>
|
|---|
| 1607 |
|
|---|
| 1608 | <li>
|
|---|
| 1609 | Check <a href="bugs.html#issues_existing">Reported Issues</a>
|
|---|
| 1610 | to see if this is a known problem.
|
|---|
| 1611 | </li>
|
|---|
| 1612 |
|
|---|
| 1613 | <li>If none of the above apply, post a question to the fop-dev
|
|---|
| 1614 | mailing list.
|
|---|
| 1615 | </li>
|
|---|
| 1616 |
|
|---|
| 1617 | </ul>
|
|---|
| 1618 |
|
|---|
| 1619 | </li>
|
|---|
| 1620 |
|
|---|
| 1621 | <li>
|
|---|
| 1622 | In the case where something works properly with another formatter,
|
|---|
| 1623 | (AntennaHouse, PassiveTex, etc.) but doesn't work with FOP, please
|
|---|
| 1624 | check the <a href="relnotes.html">Release Notes</a>, the
|
|---|
| 1625 | <a href="compliance.html">FOP Standards Compliance</a> document,
|
|---|
| 1626 | and the remaining FAQ in this document. If not found there, look at the
|
|---|
| 1627 | list of <a href="bugs.html#issues_existing">Bugs Already Reported</a>.
|
|---|
| 1628 | If not found there, please post a question on the fop-user mailing list
|
|---|
| 1629 | or <a href="bugs.html#issues_new">Open a New Bug</a>.
|
|---|
| 1630 | </li>
|
|---|
| 1631 |
|
|---|
| 1632 | <li>
|
|---|
| 1633 | Question about how to use FOP, how to perform certain tasks with FOP
|
|---|
| 1634 | or how to integrate FOP into another application should be posted to
|
|---|
| 1635 | fop-user.
|
|---|
| 1636 | </li>
|
|---|
| 1637 |
|
|---|
| 1638 | <li>
|
|---|
| 1639 | XSLT specific stuff sould go to the <a href="http://www.mulberrytech.com/xsl/xsl-list/">XSL
|
|---|
| 1640 | list</a>. This includes problems with the language and XSLT
|
|---|
| 1641 | HOW-TOs.
|
|---|
| 1642 | </li>
|
|---|
| 1643 |
|
|---|
| 1644 | <li>
|
|---|
| 1645 | Problems specific to a certain XSLT processor, like Xalan, Saxon or
|
|---|
| 1646 | MSXML, should be handled by processor specific lists. This includes
|
|---|
| 1647 | problems with deployment, processor specific extensions, suspected
|
|---|
| 1648 | bugs and processor specific APIs. Note that JDK 1.4 comes with an
|
|---|
| 1649 | XML parser and an XSLT processor which are older versions of
|
|---|
| 1650 | Xerces and Xalan, respectively, and both have a number of annoying
|
|---|
| 1651 | bugs. See $$$FIXME on how to use more recent versions or other
|
|---|
| 1652 | packages instead.
|
|---|
| 1653 | </li>
|
|---|
| 1654 |
|
|---|
| 1655 | <li>
|
|---|
| 1656 | Problems with servlet containers should be asked on the vendor
|
|---|
| 1657 | specific lists for these software packages.
|
|---|
| 1658 | </li>
|
|---|
| 1659 |
|
|---|
| 1660 | <li>
|
|---|
| 1661 | More general questions regarding Java, including deployment, Java
|
|---|
| 1662 | APIs, classpath issues and property definitions should be redirected
|
|---|
| 1663 | to some Java specific list.
|
|---|
| 1664 | </li>
|
|---|
| 1665 |
|
|---|
| 1666 | </ul>
|
|---|
| 1667 | </div>
|
|---|
| 1668 | </div>
|
|---|
| 1669 | </div>
|
|---|
| 1670 | </div>
|
|---|
| 1671 | </td><td width="10"><img width="10" height="1" alt="" src="skin/images/spacer.gif"></td>
|
|---|
| 1672 | </tr>
|
|---|
| 1673 | <!--================= end Content==================-->
|
|---|
| 1674 | </table>
|
|---|
| 1675 | </td>
|
|---|
| 1676 | </tr>
|
|---|
| 1677 | </table>
|
|---|
| 1678 | <!--================= end Menu, NavBar, Content ==================-->
|
|---|
| 1679 | <!--================= start Footer ==================-->
|
|---|
| 1680 | <table summary="footer" cellspacing="0" cellpadding="0" width="100%" border="0">
|
|---|
| 1681 | <tr>
|
|---|
| 1682 | <td colspan="2" height="1" bgcolor="#4C6C8F"><img height="1" width="1" alt="" src="skin/images/spacer.gif"><a href="skin/images/label.gif"></a><a href="skin/images/page.gif"></a><a href="skin/images/chapter.gif"></a><a href="skin/images/chapter_open.gif"></a><a href="skin/images/current.gif"></a><a href="/favicon.ico"></a></td>
|
|---|
| 1683 | </tr>
|
|---|
| 1684 | <tr>
|
|---|
| 1685 | <td colspan="2" bgcolor="#CFDCED" class="copyright" align="center"><font size="2" face="Arial, Helvetica, Sans-Serif">Copyright ©
|
|---|
| 1686 | 1999-2003 The Apache Software Foundation. All rights reserved.<script type="text/javascript" language="JavaScript"><!--
|
|---|
| 1687 | document.write(" - "+"Last Published: " + document.lastModified);
|
|---|
| 1688 | // --></script></font></td>
|
|---|
| 1689 | </tr>
|
|---|
| 1690 | <tr>
|
|---|
| 1691 | <td colspan="2" align="left" bgcolor="#CFDCED" class="logos"></td>
|
|---|
| 1692 | </tr>
|
|---|
| 1693 | </table>
|
|---|
| 1694 | <!--================= end Footer ==================-->
|
|---|
| 1695 | </body>
|
|---|
| 1696 | </html>
|
|---|