我目前正在尝试将我们的应用程序的FOP依赖性从版本0.20.5升级到2.1,并且我正在比较各种XSL-FO文档生成的PDF,以便最大限度地减少PDF的可能性输出看起来与我们的用户不同。
以下是我用来测试的XSL-FO文档之一:
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<fo:simple-page-master page-width="8.5in" page-height="11in" master-name="standard">
<fo:region-body margin-left="0.25in"
margin-right="0.25in"
margin-top="0.5in"
margin-bottom="1.00in"/>
<fo:region-before extent="0.25in"/>
<fo:region-after extent="0.5in"/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="standard" force-page-count="no-force">
<fo:static-content margin-left="0.25in"
margin-right="0.25in"
flow-name="xsl-region-before">
<fo:block text-align="center"/>
</fo:static-content>
<fo:flow flow-name="xsl-region-body">
<fo:block>
<fo:block hyphenate="true" language="en" wrap-option="wrap"/>
<fo:block padding="5px">
<fo:table table-layout="fixed" width="100%">
<fo:table-column column-width="proportional-column-width(1)"/>
<fo:table-column column-width="proportional-column-width(1)"/>
<fo:table-header>
<fo:table-row>
<fo:table-cell border="0.25pt solid #999"
font-size="10pt"
font-weight="bold"
padding="5pt"
text-align="left">
<fo:block>TEST</fo:block>
</fo:table-cell>
<fo:table-cell border="0.25pt solid #999"
font-size="10pt"
font-weight="bold"
padding="5pt"
text-align="right">
<fo:block>TEST</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-header>
<fo:table-body>
<fo:table-row>
<fo:table-cell>
<fo:block/>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:block>
<fo:block padding="5px"/>
<fo:block padding="5px"/>
<fo:block padding="5px">
<fo:table table-layout="fixed" width="100%">
<fo:table-column column-width="proportional-column-width(1)"/>
<fo:table-header>
<fo:table-row>
<fo:table-cell border="0.25pt solid #999"
font-size="10pt"
font-weight="bold"
padding="5pt"
text-align="center">
<fo:block>
<fo:table table-layout="fixed" width="100%">
<fo:table-column column-number="1" column-width="50%"/>
<fo:table-column column-number="2" column-width="50%"/>
<fo:table-body vertical-align="middle">
<fo:table-row>
<fo:table-cell>
<fo:block text-align="left">TEST</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="end">TEST</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-header>
<fo:table-body>
<fo:table-row>
<fo:table-cell>
<fo:block/>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:block>
<fo:block padding="5px"/>
<fo:block font-size="16pt" padding="2px">TEST</fo:block>
<fo:block padding="5px">
<fo:table table-layout="fixed" width="100%">
<fo:table-column column-width="1in"/>
<fo:table-column column-width="proportional-column-width(1)"/>
<fo:table-column column-width="proportional-column-width(1)"/>
<fo:table-column column-width="proportional-column-width(1)"/>
<fo:table-column column-width="proportional-column-width(1)"/>
<fo:table-column column-width="proportional-column-width(1)"/>
<fo:table-column column-width="proportional-column-width(1)"/>
<fo:table-column column-width="proportional-column-width(1)"/>
<fo:table-header>
<fo:table-row>
<fo:table-cell border="0.25pt solid #999"
font-size="10pt"
font-weight="bold"
padding="5pt"
text-align="left">
<fo:block>TEST</fo:block>
</fo:table-cell>
<fo:table-cell border="0.25pt solid #999"
font-size="10pt"
font-weight="bold"
padding="5pt"
text-align="center">
<fo:block>TEST</fo:block>
</fo:table-cell>
<fo:table-cell border="0.25pt solid #999"
font-size="10pt"
font-weight="bold"
padding="5pt"
text-align="center">
<fo:block>TEST</fo:block>
</fo:table-cell>
<fo:table-cell border="0.25pt solid #999"
font-size="10pt"
font-weight="bold"
padding="5pt"
text-align="center">
<fo:block>TEST</fo:block>
</fo:table-cell>
<fo:table-cell border="0.25pt solid #999"
font-size="10pt"
font-weight="bold"
padding="5pt"
text-align="center">
<fo:block>TEST</fo:block>
</fo:table-cell>
<fo:table-cell border="0.25pt solid #999"
font-size="10pt"
font-weight="bold"
padding="5pt"
text-align="center">
<fo:block>TEST</fo:block>
</fo:table-cell>
<fo:table-cell border="0.25pt solid #999"
font-size="10pt"
font-weight="bold"
padding="5pt"
text-align="center">
<fo:block>TEST</fo:block>
</fo:table-cell>
<fo:table-cell border="0.25pt solid #999"
font-size="10pt"
font-weight="bold"
padding="5pt"
text-align="center">
<fo:block>TEST</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-header>
<fo:table-body>
<fo:table-row>
<fo:table-cell>
<fo:block/>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:block>
<fo:block hyphenate="true"
language="en"
wrap-option="wrap"
font-weight="bold">Test sentence</fo:block>
</fo:block>
<fo:block id="last-page"/>
</fo:flow>
</fo:page-sequence>
</fo:root>
对于v2.1,table-headers的边框更薄,各种pdf元素的间距略大于v0.20.5生成的PDF中的间距。这些差异看似微不足道,但对于较大的文档,间距问题变得越来越明显。
我尝试将边框属性移动到不同的元素(例如fo:table-row,fo:block)无效。
以下是生成的报告的图片。在两个标签中打开它们并在它们之间翻转将使它们的差异更明显。
任何帮助确定为什么两个生成的报告之间存在这些微小差异将非常有帮助,谢谢!