我的项目使用Apache-FOP版本0.20生成PDF。
现在我面临一个问题:我们有一张桌子,如果我在一个字段中添加太大的数据而不是生成新页面,则该字段下的数据将被截断。
如何在FOP中处理此问题?
现在我已将FOP更新为2.2版本,但分页符仍然无法正常工作
<Document>
和<Page>
以及使用的标记的示例:
<xsl:template match="Document">
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<fo:simple-page-master page-break-inside="avoid" font-family="Verdana" master-name="simpleA4" page-height="297mm" page-width="210mm" margin-top="10mm" margin-bottom="0mm" margin-left="25mm" margin-right="25mm">
<fo:region-body/>
</fo:simple-page-master>
</fo:layout-master-set>
<xsl:apply-templates/>
</fo:root>
</xsl:template>
<xsl:template match="Page">
<fo:page-sequence master-reference="simpleA4">
<xsl:if test="(@class) = 'page'">
<xsl:attribute name="break-after">page</xsl:attribute>
</xsl:if>
<fo:flow flow-name="xsl-region-body">
<xsl:apply-templates/>
</fo:flow>
</fo:page-sequence>
</xsl:template>`
<xsl:template match="Table">
<fo:block-container height="20cm" width="150mm" top="60mm" left="0mm" position="absolute">
<fo:block font-size="8pt" font-family="Verdana">
<fo:table table-layout="fixed" width="100%" >
<fo:table-column column-width="51mm"/>
<fo:table-column column-width="4mm"/>
<fo:table-column column-width="proportional-column-width(1)"/>
<fo:table-body>
<xsl:apply-templates/>
</fo:table-body>
</fo:table>
</fo:block>
</fo:block-container>
</xsl:template>
添加生成的FO以便更加清楚:
空缺
<References>
<lbl></lbl>
<div>Nouwens</div>
<lbl>Vacnummer</lbl>
<div>11</div>
<lbl>Date</lbl>
<div>7 juli 2006</div>
<lbl>Page</lbl>
<div>2/3</div>
</References>
<Vacancies>
<tr>
<th>Function</th>
<td>
<empty/>
</td>
<td>
<empty/>
</td>
</tr>
<tr>
<td>
<lbl>Function</lbl>
</td>
<td>
<empty/>
</td>
<td>Test Vac 11</td>
</tr>
<tr>
<td>
<lbl>Reaction voor</lbl>
</td>
<td>
<empty/>
</td>
<td>7 july 2006</td>
</tr>
</Vacancies>