为什么块进程溢出?
Why overflow in block-progression?
我将高度 5cm
的图像放入高度 5cm
的 block-container
中。我希望图像应该完全适合,但实际上 fop
给出了警告:
WARNUNG: Content overflows the viewport of an fo:block-container
in block-progression direction by 5784 millipoints. (See position
19:10)
禁用边框、边距和填充。我还应该禁用什么?
<?xml version="1.0"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<fo:simple-page-master master-name="bodypage" page-height="29.7cm" page-width="21.0cm" margin="0cm">
<fo:region-body />
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="bodypage">
<fo:flow flow-name="xsl-region-body">
<fo:block-container
absolute-position = "fixed"
background-color = "yellow"
margin-right = "5cm"
top = "5cm"
left = "5cm"
height = "5cm"
><fo:block border="none" padding="0" margin="0"
><fo:external-graphic border="none" padding="0" margin="0"
src="dummy.pdf" width="5cm" height="5cm"
content-height="scale-to-fit" content-width="scale-to-fit"
/></fo:block
></fo:block-container>
</fo:flow>
</fo:page-sequence>
</fo:root>
顺便说一句,PDF中的图像上面有黄色空间:
fo:external-图形是行内元素。当它包含在一个块中时,每个已知的内联元素(半前导)前后总是有一点白色space。
正是这个 space 导致块容器内容的高度增加,从而导致溢出。您应该能够在包含图像的块上指定 line-height="0pt" 以实现正确的行为。
注意:我没有你的图像来测试,但经常遇到这个问题,这就是我解决这个问题的方法。
我将高度 5cm
的图像放入高度 5cm
的 block-container
中。我希望图像应该完全适合,但实际上 fop
给出了警告:
WARNUNG: Content overflows the viewport of an fo:block-container
in block-progression direction by 5784 millipoints. (See position
19:10)
禁用边框、边距和填充。我还应该禁用什么?
<?xml version="1.0"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<fo:simple-page-master master-name="bodypage" page-height="29.7cm" page-width="21.0cm" margin="0cm">
<fo:region-body />
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="bodypage">
<fo:flow flow-name="xsl-region-body">
<fo:block-container
absolute-position = "fixed"
background-color = "yellow"
margin-right = "5cm"
top = "5cm"
left = "5cm"
height = "5cm"
><fo:block border="none" padding="0" margin="0"
><fo:external-graphic border="none" padding="0" margin="0"
src="dummy.pdf" width="5cm" height="5cm"
content-height="scale-to-fit" content-width="scale-to-fit"
/></fo:block
></fo:block-container>
</fo:flow>
</fo:page-sequence>
</fo:root>
顺便说一句,PDF中的图像上面有黄色空间:
fo:external-图形是行内元素。当它包含在一个块中时,每个已知的内联元素(半前导)前后总是有一点白色space。
正是这个 space 导致块容器内容的高度增加,从而导致溢出。您应该能够在包含图像的块上指定 line-height="0pt" 以实现正确的行为。
注意:我没有你的图像来测试,但经常遇到这个问题,这就是我解决这个问题的方法。