6

XSL-FOテキスト ファイルから説明を作成し、それを PDF ドキュメントに変換するソフトウェアを入手しました。テキスト ファイルの各行はfo:blockin FO に変換されますが、これは間違っているように聞こえますが、今のところ変更できません。私のドキュメントには、A4 の 1 ~ 3 ページが含まれています。

ここで必要なことは、既存のテキストの下に幅約 8cm のグラフィックを追加することです。左揃えにする必要があります。その隣に、(長い) 説明を含むテキスト ブロックを配置したいと考えています。

レイアウト例

私はFOのいくつかのドキュメントを見て、これを思いつきました:

<fo:block intrusion-displace="block" margin-top="20mm">
 <fo:float float="right">
   <fo:block margin-left="20mm">
    Bacon ipsum dolor sit amet laborum proident...
   </fo:block>
 </fo:float> 
  <fo:external-graphic src="image.png"/> 
</fo:block>

これは私が望んでいたことのように思えました (もちろん微調整の後で) が、残念ながら FOPはまだサポートし fo:floatていません。

(テーブルなしで)複数の列を作成する方法もあるようですが、それがどのように機能するかわかりませんでした。そのためには新しいページが必要なようですが、利用可能なスペースがある場合は現在のページを使用する必要があります (気にする必要はないと思います)。

だから私の質問:を使用せずにこれを構築する別の方法はありfo:floatますか?

4

1 に答える 1

4

画像を背景画像として使用して、画像と同じ幅の左パディングを残すことができます。

<fo:block intrusion-displace="block" margin-top="20mm">
   <fo:block padding-left="20mm" 
       background-image="image.png" 
       background-repeat="no-repeat">
    Bacon ipsum dolor sit amet laborum proident...
   </fo:block>
</fo:block>

でのみ可能な処理を画像に追加する必要がある場合は<fo:external-graphic>、パディング手法と追加の絶対配置ブロック コンテナーを使用できます。

<fo:block intrusion-displace="block" margin-top="20mm">
   <fo:block padding-left="20mm">
    Bacon ipsum dolor sit amet laborum proident...
   </fo:block>
   <fo:block-container absolute-position="absolute">
       <fo:block>
          <fo:external-graphic src="image.png"/>
       </fo:block>
   </fo:block-container>
</fo:block>

3 番目のオプションは、テーブルを使用することです。

于 2012-07-26T12:36:00.150 に答える