iText忽略图像后添加的空间

时间:2012-10-02 18:21:41

标签: java image itext space

我在使用iText for java(版本5.3.2)格式化PDF文档时遇到问题。

我的文档应如下所示:

text1word1 text1word2 text1word3.    --
***                                   |
-----------                           |
| image 1 |                           |
-----------                           |- page 1
***                                   |
***                                   | 
text2word1 text2word2 text2word3.     |
***                                  --
-----------                          --
| image 2 |                           |
-----------                           |
***                                   |
***                                   |- page 2
text3word1 text3word2 text3word3.     | 
***                                   |
-----------                           |
| image 3 |                           |
-----------                          --

* =空间

但是在将所有元素一个接一个地添加之后,我得到了这样的结果:

text1word1 text1word2 text1word3.     --
***                                    |
-----------                            |
| image 1 |                            |
-----------                            |- page 1
***                                    |
***                                    |
text2word1 text2word2 text2word3.      |
***                                   --
-----------                           --
| image 2 |      (where is all my space here gone??)
-----------  <----/                    |
text3word1 text3word2 text3word3.      |- page 2
***                                    |
-----------                            |
| image 3 |                            |
-----------                           --

* =空间

只有当图像是新页面的第一个对象时,问题才会出现!

图片是截图,可缩放至385x500点。文本和屏幕截图分布在几页上。 我已经尝试填写段落,表格和空白图像来强制空间......到目前为止没有任何工作......

1 个答案:

答案 0 :(得分:5)

你的空间去了哪里?它在上一页!

如果图片不适合一页,iText会将其保留在下一页,并首先添加其他内容。

如何避免这种情况?使用writer.setStrictImageSequence(true);

现在iText不会尝试在当前页面上添加尽可能多的内容。

这个答案来自我的书“iText in Action - Second Edition”p52。