4

我在使用 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 点的屏幕截图。文本和屏幕截图分布在几页上。我已经尝试填充段落、表格和空白图像以强制空间......到目前为止没有任何工作......

4

1 回答 1

5

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

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

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

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

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

于 2012-10-03T06:58:44.820 回答