2

我在 xsl-fo 中创建了一个表,如下所示:

<fo:block margin-top="0.4cm">
                        <fo:table border-collapse="collapse">
                            <fo:table-column column-width="15%"
                                column-number="1" />
                            <fo:table-column column-width="16%"
                                column-number="2" />
                            <fo:table-column column-width="53%"
                                column-number="3" />
                            <fo:table-column column-width="16%"
                                column-number="4" />

                            <fo:table-header>
                                <fo:table-row>
                                    <fo:table-cell padding="2px" font-size="7px">
                                        <fo:block text-align="center" font-weight="bold">Column1
                                        </fo:block>
                                    </fo:table-cell>
                                    <fo:table-cell padding="2px" font-size="7px">
                                        <fo:block text-align="center" font-weight="bold">Column2
                                        </fo:block>
                                    </fo:table-cell>
                                    <fo:table-cell padding="2px" font-size="7px">
                                        <fo:block text-align="left" font-weight="bold">Column3
                                        </fo:block>
                                    </fo:table-cell>
                                    <fo:table-cell padding="2px" font-size="7px">
                                        <fo:block text-align="center" font-weight="bold">Column4
                                        </fo:block>
                                    </fo:table-cell>
                                </fo:table-row>
                            </fo:table-header>

                            <fo:table-body font-size="9px">


                                    <fo:table-row>
                                        <fo:table-cell padding="2px" border="0.5pt solid #cfcfcf">
                                            <fo:block text-align="center">
                                                12345678910111213
                                            </fo:block>
                                        </fo:table-cell>
                                        <fo:table-cell padding="2px" border="0.5pt solid #cfcfcf">
                                            <fo:block text-align="center">
                                                some text
                                            </fo:block>
                                        </fo:table-cell>
                                        <fo:table-cell padding="2px" border="0.5pt solid #cfcfcf">
                                            <fo:block text-align="left">
                                                some text
                                            </fo:block>
                                        </fo:table-cell>
                                        <fo:table-cell padding="2px" border="0.5pt solid #cfcfcf">
                                            <fo:block text-align="right">
                                                some text
                                            </fo:block>
                                        </fo:table-cell>
                                    </fo:table-row>

                                </xsl:for-each>
                            </fo:table-body>
                        </fo:table>
                    </fo:block>
                    <fo:block padding-top="40px">
                    some text
                    </fo:block>
                </fo:block>

Column1 中的字符串“12345678910111213”被写入其表格单元格的边界。

在字符串中特定数量的字符之后,如何在此列的表格单元格中强制换行?

4

1 回答 1

4

&#x200b;通过在所需位置注入零宽度空间。

这种技术对于指示连续字符串的多个可能中断位置非常有用,即使房间足够大以容纳整个字符串,因为零宽度空间是不可见的。但是,如果需要中断,则渲染知道在空格处中断字符串,并且将零宽度空格视为空格。

在课堂上,我使用 URI 字符串的示例,在每个之后添加一个零宽度空格/将呈现为常规 URI(没有可见空格),但如有必要,将在所需点中断。

于 2013-08-19T15:41:11.307 回答