28

テキストを同じ行に左右に揃える必要があります。これは可能であるはずですが、私は方法を見つけることができないようです。私はApacheFOPを使用してxmlをpdfに変換しています。

誰かが私がこれを正しくするのを手伝ってくれる?

4

6 に答える 6

46

エレガンスは明言された要件ではありませんでしたが、これは法案に適合するはずです:

<fo:block text-align-last="justify">
  LEFT TEXT
  <fo:leader leader-pattern="space" />
  RIGHT TEXT
</fo:block>

これは、ブロック内のテキストの最後の行を両端揃えにすることで機能し、テキストが行の左側から始まり右側で終わるようにします。目次ページで通常使用されるリーダーは、左右のテキストの間のスペースを埋めるために伸びます。通常<fo:leader leader-pattern="dots" />はピリオドのストレッチを生成する として使用されますが、この場合はスペースの隙間を提供するだけです。

于 2009-02-26T12:21:05.420 に答える
12

これはトリックを行います:

<fo:table>
  <fo:table-column />
  <fo:table-column />

  <fo:table-body>
    <fo:table-row>
      <fo:table-cell>
        <fo:block>LEFT TEXT</fo:block>
      </fo:table-cell>
      <fo:table-cell>
        <fo:block text-align="right">RIGHT TEXT</fo:block>
      </fo:table-cell>
    </fo:table-row>
  </fo:table-body>
</fo:table>
于 2009-02-25T15:17:34.553 に答える
5
<fo:inline-container vertical-align="top" inline-progression-dimension="49.9%">
    <fo:block>left content</fo:block>
</fo:inline-container>
<fo:inline-container vertical-align="top" inline-progression-dimension="49.9%">
    <fo:block>right-content</fo:block>
</fo:inline-container>

FOP 2.0 で動作確認済み

于 2015-08-22T21:37:35.043 に答える
0

今はこれをテストする時間がありませんが、http://www.w3.org/TR/xsl/#fo_floatをチェックしてください。

片方を右に浮かせてもう片方を左に浮かせてください-あなたが説明していることをやろうと思っていたら、私はそれを試してみます

テーブルを使用することもできます

右と左に揃えない限り、正当化されることを意味します...

于 2009-02-02T22:59:16.443 に答える
-1

これは可能です。正確な出力が何であるかはわかりませんが、試しましたか:

<fo:block-container>
   <fo:block text-align="left">text</fo:block>
   <fo:block text-align="right">text</fo:block>
</fo:block-container >

私はしばらく XSLFO を行っていませんが、XSL-FO 開発 (および一般的な XML) には Stylus Studio をお勧めします。Stylus を Apache FOP プロセッサでも動作させることができます。

PS: 家に戻っても Apache FOP などが正しくセットアップされているかどうかを再確認しました。

于 2008-12-24T16:38:13.470 に答える