xsl-fo绝对放置图像

时间:2013-12-10 11:58:30

标签: pdf-generation css-position block xsl-fo apache-fop

我正在尝试将图片放在页面的左上角。

无论我怎么努力,我都无法正确放置图像。图像和页面顶部之间总共有1毫米的空间!

问题似乎在于放置外部图形。封闭块(黄色)放置正确但图像向下移动。你可以在pdf中看到这个,灰色图像上方可以看到封闭的黄色块!

我尝试了一些尝试影响图像位置的属性组合(绝对位置,位置,空格 - 之前)但没有效果。

感谢您的帮助!

这是它的样子: boxes.pdf

这是我的fo.xml:

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:r="http://xml.lazalab.com/reditor" xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" language="DE">
 <fo:layout-master-set>
  <fo:simple-page-master  fox:scale="1" fox:crop-offset="5mm" fox:crop-box="media-box" fox:bleed="5mm" margin-right="0mm" margin-left="0mm" margin-bottom="0mm" margin-top="0mm" master-name="MASTERsite1" page-width="214mm" page-height="301mm">
   <fo:region-body background-color="green" margin="0mm"/>
   <fo:region-before background-color="yellow" precedence="true" extent="0mm"/>
   <fo:region-after background-color="cyan" precedence="true" extent="0mm"/>
   <fo:region-start background-color="pink" extent="0mm"/>
   <fo:region-end background-color="gold" extent="0mm"/>
  </fo:simple-page-master>
 </fo:layout-master-set>

 <fo:page-sequence master-reference="MASTERsite1">
  <fo:flow reference-orientation="0" border-collapse="collapse" flow-name="xsl-region-body">         

   <fo:block-container absolute-position="absolute" width="214mm" height="301mm" background-color="cyan">
    <fo:block-container overflow="hidden" width="100mm" height="200mm" background-color="cyan">
        <fo:block  top="0mm" left="0mm" padding="0mm" margin="0mm" background-color="yellow">
            <fo:external-graphic  line-height="0mm" padding="0mm" margin="0mm"  width="100mm" height="200mm" background-color="grey" src="#"/>
        </fo:block>
    </fo:block-container>
   </fo:block-container>

  </fo:flow>
 </fo:page-sequence> 
</fo:root>

1 个答案:

答案 0 :(得分:3)

在块上设置行高,图像为“0”并再次测试。可能是根据字体基线放置图像。如:

              <fo:block  top="0mm" left="0mm" padding="0mm" margin="0mm" background-color="yellow" line-height="0mm" >
                    <fo:external-graphic  padding="0mm" margin="0mm"  content-width="100mm" height="200mm" background-color="grey" src="test.jpg"/>
                </fo:block>

我用几个格式化程序对此进行了测试,图像显示在页面顶部。