如何使用xsl-fo创建一个包含两列的PDF页面



我想从两个块创建一个pdf文件。第一个块应该始终指向页面的左侧,第二个块应该总是指向页面的右侧。非常重要的是,第二块始终指向右侧。即使块中的文本是几页,它也应该只在右侧。

看看。我用微软Word做了一个例子。请打开它确切地知道,我的意思是:

ms字示例

注意:应该使用什么(表、块、容器等(并不重要。只要我能够拥有跨页流动的列,那才是重要的。

fo:block-container溢出时会发生什么有点模糊。有一个overflow="repeat"选项,但我不知道它的实现、使用或理解范围有多广。(请参见https://www.w3.org/TR/xsl11/#overflow)

我之前的回答确实使CCD_ 3选项符合";大块不会在页面上断裂"您可以通过将每一面放在一个单独的表格单元格中来处理占用多页的内容:

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions"
xml:lang="en"
font-size="20pt">
<fo:layout-master-set>
<fo:simple-page-master master-name="spm" size="A6" margin="20mm">
<fo:region-body/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="spm">
<fo:flow flow-name="xsl-region-body">
<fo:table>
<fo:table-column column-width="50%" />
<fo:table-column column-width="50%" />
<fo:table-body>
<fo:table-row>
<fo:table-cell padding-right="6pt">
<fo:block>:::::: First Block :::::::</fo:block>
</fo:table-cell>
<fo:table-cell padding-left="6pt">
<fo:block>Lorem ipsum dolor sit amet consectetur adipiscing elit non quisque dictumst, ultrices curae cubilia justo at lectus fermentum gravida risus donec vulputate, posuere hac ornare convallis leo netus vestibulum vitae aliquam.</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:flow>
</fo:page-sequence>
</fo:root>

在两列之间设置空白的另一种方法是在两列文本之间设置一个窄列,而不是在表单元格上添加填充。

相关内容

最新更新