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 に答える