xsl-fo - 有分页符时,表格的行可以转到页脚吗?
问题描述
我有一个带有 svg 箭头的表格,指示问题的下一个块。问题是当表格在页面中间中断并且箭头停在同一点时。我需要表格行转到页脚。
那可能吗?
谢谢
<fo:table inline-progression-dimension="auto" table-layout="auto" width="106mm">
<fo:table-column column-width="5%"/>
<fo:table-column column-width="74%"/>
<fo:table-column column-width="16%"/>
<fo:table-column column-width="3%"/>
<fo:table-column column-width="2%"/>
<fo:table-footer>
<fo:table-row keep-with-previous.within-page="always">
<fo:table-cell/>
<fo:table-cell/>
<fo:table-cell/>
<fo:table-cell>
<fo:block left="2.25mm" position="relative" top="-0.7mm">
<fo:retrieve-table-marker retrieve-class-name="continuedSecondArrow" retrieve-position-within-table="last-ending-within-page"/>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block left="1.21mm" position="relative" top="-0.7mm">
<fo:retrieve-table-marker retrieve-class-name="continuedArrow" retrieve-position-within-table="last-ending-within-page"/>
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-footer>
<fo:table-body>
<fo:table-row>
<fo:table-cell border="1.8PT solid" display-align="center" font-size="16pt" keep-together.within-page="always" number-columns-spanned="2" number-rows-spanned="2" padding-bottom="1.5mm" padding-left="1mm" padding-top="1.5mm">
<fo:wrapper>
<fo:marker marker-class-name="continuedArrow">
<fo:instream-foreign-object>
<svg:svg height="6.7mm" width="2mm">
<svg:path d="M 2.1634084,0 2.1462333,10 0,10 3.4375,27.5312 6.90625,10 4.6604758,10.02932 4.7484349,-0.0293197 Z" style="black"/>
</svg:svg>
</fo:instream-foreign-object>
</fo:marker>
</fo:wrapper>
<fo:block hyphenate="false" keep-together.within-page="10">
<fo:wrapper>
<fo:marker marker-class-name="bottomContinued">
CLEFIEJOD...
</fo:marker>
</fo:wrapper>
LE GRLJED?
<fo:wrapper>
<fo:marker marker-class-name="topContinued">
...CLEFIEJOD
</fo:marker>
</fo:wrapper>
</fo:block>
</fo:table-cell>
<fo:table-cell border-bottom="1.8PT solid black" padding-left="1.90mm">
<fo:block font-size="10pt" font-weight="bold">
No
</fo:block>
</fo:table-cell>
<fo:table-cell/>
<fo:table-cell/>
</fo:table-row>
<fo:table-row>
<fo:table-cell padding-left="2mm">
<fo:block font-size="6pt" font-weight="bold">
#S1-
<fo:page-number-citation-last ref-id="REF-0096579-CDT-6ADJWTA"/>
#
</fo:block>
</fo:table-cell>
<fo:table-cell border-top="1.8PT solid black"/>
<fo:table-cell border-right="1.8PT solid black" border-top="1.8PT solid black"/>
</fo:table-row>
<fo:table-row keep-with-next="10" keep-with-previous.within-page="always">
<fo:table-cell padding-left="3mm">
<fo:block left="-0.57mm" position="relative" top="-0.68mm">
<fo:instream-foreign-object>
<svg:svg height="6.7mm" width="2mm">
<svg:path d="M 2.1634084,0 2.1462333,10 0,10 3.4375,27.5312 6.90625,10 4.6604758,10.02932 4.7484349,-0.0293197 Z" style="black"/>
</svg:svg>
</fo:instream-foreign-object>
</fo:block>
</fo:table-cell>
<fo:table-cell padding-left="1mm" padding-top="2mm">
<fo:block-container height="10pt">
<fo:block font-size="10pt" font-weight="bold">
Yes
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-cell/>
<fo:table-cell/>
<fo:table-cell border-right="1.8PT solid black"/>
</fo:table-row>
<fo:table-row>
<fo:table-cell number-columns-spanned="4" padding-left="3mm">
<fo:block>
<fo:block-container>
<fo:block-container keep-with-next="always" margin-left="1mm" margin-right="1mm">
<fo:block-container margin="0mm">
<fo:block font-size="16pt" font-weight="bold" hyphenate="false" keep-with-next="always" text-align="justify">
Aftpr CRG ATF (TWD) TIROX PL ARM mpsseqp is aisvleypa eha tgp essubietpa Cerqu
Tirp Ovtihqoisgihq Bottuh is illomihetpa:
</fo:block>
</fo:block-container>
</fo:block-container>
<fo:block-container margin-left="2mm" margin-right="2mm">
<fo:block-container margin="0mm">
<fo:block keep-together.within-page="10">
<fo:table font-size="16pt" width="100%">
<fo:table-column column-number="1" column-width="60%"/>
<fo:table-column column-number="2" column-width="40%"/>
<fo:table-body>
<fo:table-row keep-together.within-page="always" keep-with-next="always">
<fo:table-cell padding-bottom="1mm" padding-top="1mm">
<fo:block margin-right="0.1cm" start-indent="0.1em" text-align-last="justify" text-align="left" text-indent="-0.1em">
<fo:block hyphenate="false" keep-together.within-page="10">
<fo:wrapper>
<fo:marker marker-class-name="bottomContinued">
CLEFIEJOD...
</fo:marker>
</fo:wrapper>
<fo:block text-align-last="justify">
<fo:inline keep-with-next.within-line="always">
Assubietpa Cerqu Tirp Ovtihqoisgihq Bottuh
</fo:inline>
<fo:leader leader-length.minimum="5mm" leader-pattern="dots"/>
</fo:block>
<fo:wrapper>
<fo:marker marker-class-name="topContinued">
...CLEFIEJOD
</fo:marker>
</fo:wrapper>
</fo:block>
</fo:block>
</fo:table-cell>
<fo:table-cell/>
</fo:table-row>
<fo:table-row keep-together.within-page="always" keep-with-next="always">
<fo:table-cell/>
<fo:table-cell padding-before="-1.32em">
<fo:block display-align="after" start-indent="0.1em" text-indent="-0.1em">
<fo:block hyphenate="false" keep-together.within-page="10">
<fo:wrapper>
<fo:marker marker-class-name="bottomContinued">
CLEFIEJOD...
</fo:marker>
</fo:wrapper>
<fo:block keep-together.within-page="always" vertical-align="bottom">
AS ROQJIROD
</fo:block>
<fo:wrapper>
<fo:marker marker-class-name="topContinued">
...CLEFIEJOD
</fo:marker>
</fo:wrapper>
</fo:block>
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:block>
</fo:block-container>
</fo:block-container>
</fo:block-container>
<fo:block font-size="16pt" keep-together.within-page="always">
<fo:table>
<fo:table-column column-width="19mm "/>
<fo:table-column/>
<fo:table-body>
<fo:table-row>
<fo:table-cell padding-bottom="1.5mm" padding-top="1.5mm">
<fo:block font-weight="bold">
<fo:inline>
ELFO
</fo:inline>
:
</fo:block>
</fo:table-cell>
<fo:table-cell padding-bottom="1.5mm" padding-top="1.5mm">
<fo:block text-align="justify">
<fo:block font-size="16pt" keep-together.within-page="always">
<fo:table>
<fo:table-column column-width="0mm"/>
<fo:table-column column-width="5mm"/>
<fo:table-column/>
<fo:table-body>
<fo:table-row>
<fo:table-cell/>
<fo:table-cell padding-bottom="1mm">
<fo:block text-align="left">–</fo:block>
</fo:table-cell>
<fo:table-cell padding-bottom="1mm">
<fo:block>
<fo:block hyphenate="false" keep-together.within-page="10">
<fo:wrapper>
<fo:marker marker-class-name="bottomContinued">
CLEFIEJOD...
</fo:marker>
</fo:wrapper>
<fo:block keep-together.within-page="always" text-align="justify">
Aazisp Gruoha Crpw uf vussiclp Heluh zevurs eftpr aisbgerqihq tgp pvtihqoisgihq
cuttlp.
</fo:block>
<fo:wrapper>
<fo:marker marker-class-name="topContinued">
...CLEFIEJOD
</fo:marker>
</fo:wrapper>
</fo:block>
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
<fo:table>
<fo:table-column column-width="0mm"/>
<fo:table-column column-width="5mm"/>
<fo:table-column/>
<fo:table-body>
<fo:table-row>
<fo:table-cell/>
<fo:table-cell padding-bottom="1mm">
<fo:block text-align="left">
–
</fo:block>
</fo:table-cell>
<fo:table-cell padding-bottom="1mm">
<fo:block>
<fo:block hyphenate="false" keep-together.within-page="10">
<fo:wrapper>
<fo:marker marker-class-name="bottomContinued">
CLEFIEJOD...
</fo:marker>
</fo:wrapper>
<fo:block keep-together.within-page="always" text-align="justify">
Aftpr tgp cuttlp aisbgerqp eha witg tgp eirvlehp uh qruoha, tgp mpsseqp CRG TWD
(ATF) TIRO SYS TAIP will evvper.
</fo:block>
<fo:wrapper>
<fo:marker marker-class-name="topContinued">
...CLEFIEJOD
</fo:marker>
</fo:wrapper>
</fo:block>
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:block>
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:block>
</fo:block>
<fo:block keep-with-previous.within-page="always" padding-bottom="2mm" padding-top="2mm">
<fo:inline axf:border-radius="200pt" background-color="black" border="1pt solid black" color="white" font-weight="bold" padding-bottom="1mm" padding-left="1mm" padding-right="1mm" padding-top="1mm" text-align="center">
OED
</fo:inline>
</fo:block>
</fo:table-cell>
<fo:table-cell border-right="1.8PT solid black"/>
</fo:table-row>
<fo:table-row keep-with-previous.within-page="always">
<fo:table-cell/>
<fo:table-cell border-bottom="1.8PT solid black" number-columns-spanned="3">
<fo:wrapper>
<fo:marker marker-class-name="bottomContinued">
CLEFIEJOD...
</fo:marker>
</fo:wrapper>
</fo:table-cell>
<fo:table-cell border-bottom="1.8PT solid black" border-right="1.8PT solid black" height="3mm">
<fo:wrapper>
<fo:marker marker-class-name="topContinued">
...CLEFIEJOD
</fo:marker>
</fo:wrapper>
</fo:table-cell>
</fo:table-row>
<fo:table-row keep-with-previous.within-page="always">
<fo:table-cell/>
<fo:table-cell>
<fo:block left="-0.57mm" position="relative" top="-0.68mm">
<fo:instream-foreign-object>
<svg:svg height="6.7mm" width="2mm">
<svg:path d="M 2.1634084,0 2.1462333,10 0,10 3.4375,27.5312 6.90625,10 4.6604758,10.02932 4.7484349,-0.0293197 Z" style="black"/>
</svg:svg>
</fo:instream-foreign-object>
</fo:block>
</fo:table-cell>
<fo:table-cell/>
<fo:table-cell>
<fo:wrapper>
<fo:marker marker-class-name="continuedArrow"/>
</fo:wrapper>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
解决方案
表格单元格通常会占用所需的空间,但不会更多,因此当表格超出页面时,它们通常不会延伸到页面底部。
您可以使用更改栏来做一些事情,将更改栏放在一边,并有第二个更改栏,其中包含箭头图形。
您可能能够拥有一个包含页面高度箭头图形的右侧列,并依靠
overflow
将图形截断到正确的高度。您必须使用max-height
或block-progression-dimension.maximum
使表格单元格扩展到页面底部。箭头中的直角弯曲可能很困难,但您可以通过在单独的表格单元格中放置一个直角的小图形来做到这一点。您可能可以使用
fo:leader
内部的fo:block-container
或fo:inline-container
具有的reference-orientation="270"
。前导模式(和 的内容fo:leader
)将是箭头线段的图形。fo:leader
后面是箭头的图形。仅在需要时,您才可以使用
fo:marker
和fo:retrieve-table-marker
放置箭头图形。需要箭头fo:table-footer
的fo:table-cell
(or ) 将在下面的fo:marker` 中设置, 和 the ,这样箭头就不会重复。fo:table-row
fo:marker
fo:table-cell
fo:table-row would set an empty
您也许可以将图像浮动到右侧的箭头,但要使其长度正确可能会很棘手。
如果您可以提供一些示例 FO 标记,我们或许可以提供更具体的答案。
推荐阅读
- python - 如何在 Python 中基于正则表达式拆分字符串
- apache-spark - 如果我将服务器上的所有可用内核分配给 spark 集群会发生什么
- jquery - Wordpress:在 ajax 生成的 div 上执行 JQuery
- date - 当我在 SAS 中计算新变量时,为什么我的值会发生偏移?
- python - 欧拉计划 #23 - 非丰富的总和
- java - 如何使用 JOptionPane 和数组列出用户的多个输入?
- firebase - Firebase云功能onCall在更改区域后不起作用
- unit-testing - 一个单元在哪个级别测试无锁代码?
- javascript - 迭代 Eventbrite API 响应以分配键值对
- powershell - 不使用 -Recurse 将文件从一个文件夹移动到另一个文件夹