2015-10-19 66 views
2

這是關於Block Image Right and Flow Text Around It?的後續問題。正如在那裏回答的那樣,Apache FOP 1.1無法在圖像周圍打包文本。Apache FOP 2.0:我可以在圖像上包圍文本嗎?

幾個月前,V2.0發佈了。根據compliance page部分支持浮動。因爲我是XSLT/FOP的新手(並且不知道如何解釋那裏報告的限制),所以我想是否圍繞圖片打包文本一般適用於2.0。 (這將是巨大的,如果有人可以提供與Apache FOP 2.0生成一個演示PDF)

回答

1

fo:float作品FOP 2.0,因爲他們列出它作爲FOP 2.0的主要新功能之一。你將不得不對你的內容進行試驗,看看這些限制是否會在你的圖片周圍造成不必要的文字環繞。由於FOP 2.0不支持float上的clear屬性,因此如果在頁面的同一水平區域內浮動過多,則可能會出現重疊圖像。

自2002年以來,我一直在使用Antenna House Formatter,因爲它支持的方式比早期版本的FOP更具有 的功能。如果在FOP 2.0中部分支持浮動功能並不能滿足您的需求,您可以支付一款擁有全浮動支持的更好工具。

http://xmlgraphics.apache.org/fop/fo.html#floats

浮標(FO:浮動)負載有一些限制:

  • 「透明」 FO:浮動屬性被忽略;只有浮子屬性(左或右)用於浮子

  • 重疊在Y不被處理(即使在的情況下不會有在X方向上重疊)

  • 浮子延伸超出主體區處理不當,將溢出過去的區域

  • 的邊緣如果浮子延伸到體區的底部,並有在頁面腳註浮子可以與腳註區域

  • 重疊漂浮在桌子旁邊的是n OT支持除非表的開始和結束的浮動

,如果你修改了文件,這將是更有益的起點和終點之間發生的,但你可以修改fo與圖像文件的例子看看fo:float是如何工作的。我稍微修改了這個文件「fop-2.0 \ examples \ fo \ basic \ alignment.fo」:

<fo:float float="left"> 
<fo:block> 
<fo:instream-foreign-object vertical-align="top"> 
<svg:svg width="25" height="25"> 
    <svg:rect x="0" y="0" width="25" height="25" style="fill:none;stroke:#000000"/> 
    <svg:line x1="12.5" y1="3" x2="12.5" y2="22" style="stroke:black;stroke-width:1.5"/> 
    <svg:path d="M5 17l7.5 8l7.5 -8z" style="fill:black"/> 
    <svg:path d="M5 8l7.5 -8l7.5 8z" style="fill:black"/> 
</svg:svg> 
</fo:instream-foreign-object> 
</fo:block> 
</fo:float> 
+1

謝謝!這是我想要/需要的答案。同時,我得到了一個簡單的例子,我可以確認你的陳述。一般來說,漂浮物起作用。但是,如果圖片的位置接近頁面主體,圖片將忽略任何邊界(主體和頁面大小) –

相關問題