2

XSL-FO を使用して PDF を生成する際に問題が発生しました。

2 列の文書があり、段落 (スペースがあればページの下部から開始できます) を改ページなしで 1 ページに収めたいと考えています。主な目的は、段落を次のページに移動することです。前のコンテンツは動的であるため、段落の前に宣言された改ページを使用できません。テキスト自体には、保持する必要がある 1 つの改行があり (white-space-collapse=false)、ページの上部に 2 つの列で表示されるようにするために、その後にまたがる行があります。私がすでに試したこと:

  • keep-together-within-page=常に段落にありますが、何も変わりません
  • keep-together=段落で常に、すべてが 1 行に表示されます。keep-together-within-line=0 と keep-together-within-column=0 を設定すると、すべて (8 行のテキスト) が 2 ページ目の右側の列に入りますが、前のページでは 2 行が左側に残ります o_0
  • page-break-inside=avoid を段落で使用すると、段区切りも削除されます

1 ページに収まるように変更する必要がある段落のベース xsl-fo コード:

<fo:block font-family="Font name" font-size="8.5pt" font-weight="normal" keep-with-next.within-column="always" line-height="10.5pt" orphans="5" text-align="left" widows="5">
<fo:block white-space-collapse="false">TEXT IN TWO COLUMNS</fo:block>

各ブロックの属性を変更できますが、最初の 1 つだけを変更するのが最適な解決策です。

前もって感謝します :]

4

2 に答える 2

2

keep-together.within-column="always"孤立した行を残さずに必要なものを提供する必要があります。これは継承されたプロパティであるため、先祖のブロックで指定されている場合、すべてのブロックで指定する必要はありません。ただし、コード スニペットでkeep-with-next=は、継承されないものを指定しています。

すべてではなく、一部のプロパティのみが継承されます。http://www.CraneSoftwrights.com/training/#pfuxにある無料の「試用版」バージョンである、私の XSL-FO ブックの 440/441 ページを確認してください(ページ番号は A4 バージョンのものであることに注意してください。 US-letter バージョンの 438/439)。

于 2013-07-17T14:49:37.020 に答える
1

試してみましたか

keep-with-previous.within-column="always"

最初に前の列をチェックし、それに従って配置を行います。

于 2015-10-23T06:47:35.180 に答える