【问题标题】:XSL-FO Place 3 tables side bij sideXSL-FO 并排放置 3 张桌子
【发布时间】:2017-02-16 16:53:14
【问题描述】:

我是 XSL-FO (fop apache) 我想并排放置 3 张桌子! 尝试了很多东西,但还没有找到解决方案。 这是我的代码的重要和平:

<fo:table  table-layout="fixed" width="60mm" keep-together.within-page="always"  border-width="1pt" border-style="solid" border-color="black" >

                        <fo:table-column column-width="40mm"/>
                        <fo:table-column column-width="20mm"/>

                        <fo:table-body>

                        <fo:table-row>
                            <fo:table-cell text-indent="1mm">
                                <fo:block>test:</fo:block>
                            </fo:table-cell>
                            <fo:table-cell>
                                <fo:block>test</fo:block>
                        </fo:table-cell>
                    </fo:table-row>

                        </fo:table-body>

                    </fo:table>

现在我想并排添加 3 个相同的表。有人可以帮忙吗?

【问题讨论】:

  • 进一步描述当一个或多个页面浏览时会发生什么,以及当一个页面比其他页面长时会发生什么。另外,行高是不同还是一样?
  • 您好@KevinBrown 半页上的 3 个表格高度无关紧要,只是想知道如何将它们放在 bij 一侧。桌子的所有高度都相同

标签: xml xslt xsl-fo


【解决方案1】:

将每个表放在彼此相邻的绝对定位的块容器中。像这样:

            <fo:block-container absolute-position="absolute" top="1in" left="0in" width="2.4in">
            <fo:table>
                <fo:table-body>
                    <fo:table-row>
                        <fo:table-cell border="1pt solid black">
                            <fo:block>I am Table 1</fo:block>
                        </fo:table-cell>
                        <fo:table-cell border="1pt solid black">
                            <fo:block>I am Table 1</fo:block>
                        </fo:table-cell>
                    </fo:table-row>
                </fo:table-body>
            </fo:table>
        </fo:block-container>
        <fo:block-container absolute-position="absolute" top="1in" left="2.5in" width="2.4in">
            <fo:table>
                <fo:table-body>
                    <fo:table-row>
                        <fo:table-cell border="1pt solid black">
                            <fo:block>I am Table 2</fo:block>
                        </fo:table-cell>
                        <fo:table-cell border="1pt solid black">
                            <fo:block>I am Table 2</fo:block>
                        </fo:table-cell>
                    </fo:table-row>
                </fo:table-body>
            </fo:table>
        </fo:block-container>
        <fo:block-container absolute-position="absolute" top="1in" left="5in" width="2.4in">
            <fo:table>
                <fo:table-body>
                    <fo:table-row>
                        <fo:table-cell border="1pt solid black">
                            <fo:block>I am Table 3</fo:block>
                        </fo:table-cell>
                        <fo:table-cell border="1pt solid black">
                            <fo:block>I am Table 3</fo:block>
                        </fo:table-cell>
                    </fo:table-row>
                </fo:table-body>
            </fo:table>
        </fo:block-container>

产量:

还有其他方法,但我认为 FOP 不支持它们。如果您使用的是 RenderX,您可以使用 3 列的 rx:flow-section 并在每列中放置一个表格。

【讨论】:

  • 很好的解决方案!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-28
  • 1970-01-01
  • 2017-04-04
  • 1970-01-01
相关资源
最近更新 更多