Java iText页面包装-更改元素的顺序

Java iText页面包装-更改元素的顺序,java,pdf,itext,word-wrap,Java,Pdf,Itext,Word Wrap,当我遇到这个问题时,我正在使用iText生成PDF报告,并制作了一个简单的示例来说明它 我结合了简单的段落和图片 图像的高度是这样的,一个PDF页面上可以容纳3个图像,但如果页面上有文本,则只能容纳2个图像 我使用以下代码创建我的PDF: Document document = new Document(PageSize.LETTER, 0, 0, 0, 0); PdfWriter writer = PdfWriter.getInstance(document, fileOutp

当我遇到这个问题时,我正在使用iText生成PDF报告,并制作了一个简单的示例来说明它

我结合了简单的段落和图片

图像的高度是这样的,一个PDF页面上可以容纳3个图像,但如果页面上有文本,则只能容纳2个图像

我使用以下代码创建我的PDF:

    Document document = new Document(PageSize.LETTER, 0, 0, 0, 0);
    PdfWriter writer = PdfWriter.getInstance(document, fileOutput);
    document.open();
    document.add(new Paragraph("hello world1"));
    addImage(document);
    addImage(document);
    addImage(document);
    document.add(new Paragraph("hello world2"));
    document.close();
我希望输出像这样

hello world1
image
image
<page break>
image
hello world2
hello world1
形象
形象
形象
你好,世界2
相反,我得到的是

Hello world 1
image
image
hello world 2
<page break>
image
Hello world 1
形象
形象
你好,世界2
形象
我没有使用iText设置任何奇怪的包装参数,这个示例实际上只是一个简单的示例

你知道为什么它会自动错误地包装这个吗

在实际情况中,仅仅添加分页符并不是一个可接受的解决方案

非常感谢。

自己想办法;)

iText的设计决定是不将图像一分为二,而是先添加其他内容

设置此布尔值会使iText遵守顺序

writer.setStrictImageSequence(true);