Java ApacheFop-需要从第一页中间开始创建多页表
我使用的是FOP版本2.0。我的模板在第一页上有一些文本段落,之后是一个动态表,有n行Java ApacheFop-需要从第一页中间开始创建多页表,java,pdf,xslt,oracle-adf,apache-fop,Java,Pdf,Xslt,Oracle Adf,Apache Fop,我使用的是FOP版本2.0。我的模板在第一页上有一些文本段落,之后是一个动态表,有n行 ... </fo:block-container> <fo:block-container height="0.5cm" width="7.40cm" top="8.80cm" left="0.3cm" padding=".4mm" position="absolute"> <fo:block tex
...
</fo:block-container>
<fo:block-container height="0.5cm" width="7.40cm" top="8.80cm"
left="0.3cm" padding=".4mm" position="absolute">
<fo:block text-align="start" space-after.optimum="3pt"
line-height="14pt" font-family="sans-serif" font-size="12pt">Header
Options</fo:block>
</fo:block-container>
<fo:block-container border-style="solid" border-width=".5mm"
height="1.00cm" width="16.40cm" top="8.80cm"
left="3.40cm" padding=".4mm" position="absolute">
<fo:block text-align="start" space-after.optimum="3pt"
line-height="14pt" font-family="sans-serif" font-size="12pt">$header.miscInfo</fo:block>
</fo:block-container>
<fo:block-container width="17.40cm" top="10.30cm"
left="0.40cm" padding=".4mm" >
<fo:block page-break-before="always">
<fo:table border-top-style="solid" border-top-width="thick">
<fo:table-body font-size="12pt" font-family="sans-serif">
<fo:table-row border-bottom-style="solid" border-bottom-color="#000"
border-bottom-width="thick">
...
。。。
标题
选择权
$header.miscInfo
...
表由fo:block封装,fo:block又封装在fo:block容器中。
我加入了
,将长表分成多页。但使用此选项时,表格从第二页开始,第一页的剩余区域保持空白
我希望我的表从前面的块容器之后的第一页开始。您正在使用该属性指定希望在其之前有一个分页符。只需远程设置分页符之前的属性。我发现模板中有几个问题会影响表的放置和分页符 绝对定位块 “标题”段落被放置在绝对定位的块中:这意味着在处理过程中,它们被从正常流中取出,并且它们对后面的同级()的布局没有影响 解决方案:删除
position=“absolute”top=“…”left=“…”
并使用空格/边距(请注意,表周围fo:block容器
上的top
和left
属性无效,因为该块不是绝对定位的)。您可以避免同时使用fo:block容器
,而使用普通fo:block
元素
打破
fo:block
元素上的属性page break before=“always”
具有将分页符放置在该块内容之前的效果,这正是您试图避免的
解决方案:删除中断属性
通过建议的更改,标题和表格是正常内容流的一部分,它们的内容连续放置在页面中。我过去常常将长表格分成多个页面。但这会导致表格从第二页开始,而第一页上的剩余区域保持空白。我希望我的表格从前面的block-containers后面的第一页开始。谢谢您的指导。我删除了包围fo:表的块容器,并使用了block和removed break page属性的边距属性。这就成功了,现在我的表格从前面文本之后的第一页开始。然而,我又面临一个小问题。在第一页的行之前,表格布局是完美的。但当它继续在第二页时,列会向右移动一些边距,最后一列将不可见。对此有何见解?原因可能是什么?再次感谢。@Akash如果不查看修改后的表格和页面母版,就很难说出哪里出了问题;此外,这可能是一个新问题。谢谢你的回答。我已经就此提出了另一个问题,更多细节请看。提前谢谢,谢谢凯文。不需要分页符before属性。这个问题已经解决了,但我现在面临的另一个问题已经在另一个答案的评论中阐明了。请仔细研究一下,看看你能不能提出一些建议。再次感谢。是的,如果答案解决了你的问题,考虑接受答案并问另一个问题。