仅在一页上显示内容
Show content on only one page
我要渲染 PDF 的三个内容(按顺序):C1
、C2
和 C3
。
C1
和 C3
可以由多个页面呈现。
C2
只需要一页。
问题是 C3
在 C2
的页面上呈现。
C2
的页面是否有任何选项或配置只显示C2
的内容?
(此答案基于您使用 XSL-FO, deduced from the presence of the apache-fop 标签的前提)
如果您对每个内容部分使用不同的 fo:page-sequence
,您保证每个部分都将在新页面的开头开始,即使前一页仍然可用 space:
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
...
</fo:layout-master-set>
<fo:page-sequence master-reference="pages">
... C1 ...
</fo:page-sequence>
<fo:page-sequence master-reference="pages">
... C2 ...
</fo:page-sequence>
<fo:page-sequence master-reference="pages">
... C3 ...
</fo:page-sequence>
</fo:root>
您也可以在 fo:block
元素上使用属性 break-before="page"
或 break-after="page"
来强制分页,但我认为以前的解决方案更优雅。
我要渲染 PDF 的三个内容(按顺序):C1
、C2
和 C3
。
C1
和 C3
可以由多个页面呈现。
C2
只需要一页。
问题是 C3
在 C2
的页面上呈现。
C2
的页面是否有任何选项或配置只显示C2
的内容?
(此答案基于您使用 XSL-FO, deduced from the presence of the apache-fop 标签的前提)
如果您对每个内容部分使用不同的 fo:page-sequence
,您保证每个部分都将在新页面的开头开始,即使前一页仍然可用 space:
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
...
</fo:layout-master-set>
<fo:page-sequence master-reference="pages">
... C1 ...
</fo:page-sequence>
<fo:page-sequence master-reference="pages">
... C2 ...
</fo:page-sequence>
<fo:page-sequence master-reference="pages">
... C3 ...
</fo:page-sequence>
</fo:root>
您也可以在 fo:block
元素上使用属性 break-before="page"
或 break-after="page"
来强制分页,但我认为以前的解决方案更优雅。