如何在java中使用iText包装文本?

如何在java中使用iText包装文本?,java,itext,Java,Itext,我有现有的PDF模板文件,因为我有文本字段,文本区域等。。在这些字段中,我想编写一个动态内容,从数据库中获取 到目前为止,我正在pdfStamper的帮助下使用字段的x,y坐标编写动态内容。问题是内容长度超过了文本字段,与其他文本重叠请参阅下图 当达到文本字段的最大长度时,我希望将此文本换行 我用来写内容的代码是 //Read Template PdfReader pdfReader = new PdfReader("src\\main\\resources\\template

我有现有的PDF模板文件,因为我有文本字段,文本区域等。。在这些字段中,我想编写一个动态内容,从数据库中获取

到目前为止,我正在pdfStamper的帮助下使用字段的x,y坐标编写动态内容。问题是内容长度超过了文本字段,与其他文本重叠请参阅下图

当达到文本字段的最大长度时,我希望将此文本换行

我用来写内容的代码是

    //Read Template
    PdfReader pdfReader = new PdfReader("src\\main\\resources\\templates\\IES.pdf");
  //Create copy of template
PdfStamper pdfStamper = new PdfStamper(pdfReader,
                    new FileOutputStream("D:\\pdfSamples\\Output\\IES.pdf"));
//Initialize additional content object
                PdfContentByte content=initialReExamScreenOnePrintPDF.createNewContentByte(pageNo, pdfStamper);

                //Start Placing Text-Radio-CheckBox
                content.beginText();

content.showTextAligned(PdfContentByte.ALIGN_LEFT, "Some Text",36, 123,0);
//End Content
content.endText();
pdfStamper.close();
pdfReader.close();

请帮助解决此问题

您谈论的是“字段”,但您没有将PDF用作表单。此外,您使用的是
beginText()
/
endText()
,甚至没有在代码中设置字体。为什么不使用
ColumnText
?你从哪里得到坐标?您是否阅读了文档中的、以及其他类似常见问题解答项目?(你为什么不看官方文件?)。实际上这里我指的是写动态内容的空间。我正在createNewContentByte()方法中设置字体。使用其他工具获取要写入的位置的坐标。我读过关于矩形的书,但我需要的是基于内容长度的自动换行吗?如果使用矩形,如果内容长度增加,我需要手动扩展矩形的大小。因此,我正在寻找任何其他解决方案的自动包装。请帮帮我。如果你不明白
x
y
长度不足以包装文本,我就帮不了你。您需要一个
x
y
长度
(或
宽度
)和
高度
。或者,简单地说:您需要一个
矩形
。只要你拒绝调查我关于使用
矩形
的建议,你就无能为力。我不是拒绝使用
矩形
,我了解矩形类的功能和用法。通过使用
columnText.go()
方法,我们可以得到内容的状态是否固定为定义的矩形宽度。基于此状态,我们必须更改
矩形
的宽度和高度。如果不使用
矩形
,是否有其他属性可用于自动换行文本?或者只需要使用
矩形
来包装文本?。