块图像右侧和流动文本围绕它?

时间:2013-11-04 15:55:28

标签: xml image xslt apache-fop docbook

我在Ubuntu 13.04上使用DockBook 4.5和Apache FOP 1.1。 Docbook翻译由Ubuntu提供,FOP直接从Apache下载。

有人请告诉我如何在段落的右侧插入图像,段落中还有文字吗?如果缩放有效,则奖励积分(想想:缩略图)。例如:

xxx xxx xxx xxx  +---------------+
xxxxxx xx xxx    |               |
xxxx xxxxx xxxxx |     Image     |
xxx xxxx xxx     |               |
xxx xxx xxxx xxx +---------------+
xxxxx xx xxx xxxx xxxxxx xx xx xxx
xx xxxxx xxx xxxxxxx  xxx xxxx xx
...

根据Wrap Text Around ImageFigure,我应该可以在floatstyle上使用figure。但它不适合我。

我显然做错了,比如用错误的手指按ENTER。在过去的三四个小时内,我不会使用网络上的建议来解读所有失败的尝试。但它们包括figureinformalfiguremediaobjectinlinemediaobjectimageobjectscalefloatstyle以及无数其他标签无与伦比的组合。

2 个答案:

答案 0 :(得分:3)

您需要使用支持的格式:float。

http://xmlgraphics.apache.org/fop/compliance.html

举个例子,就像这样:

<fo:float float="right">
<fo:block text-align="center"
          border="1pt solid gray"
          font="bold italic 9pt Helvetica">
  <fo:block>
    <fo:external-graphic src="url('smile.gif')"/>
  </fo:block>
  <fo:block>
    Fig. 1: A Smiling Face
  </fo:block>
</fo:block>
</fo:float>

答案 1 :(得分:1)

这建立在Kevin的回答之上。解决方案是使用支持该功能的格式化对象处理器。 Apache FOP在某些关键领域(例如浮动图像)的特征很差(除非您是Gutenberg与印刷机合作)。

如果您正在寻找免费的,请尝试XEP(http://www.renderx.com/)。它按预期工作,并且拥有非商业项目的免费许可。

为了完整起见,Sagehill在http://www.sagehill.net/docbookxsl/FOprocessors.html列出了一堆处理器。我厌倦了三个免费的,他们都被打破了。剩下的免费赠品不再存在(或者他们的网页被破坏)。