如何在java中使用iText包装文本?
我有现有的PDF模板文件,因为我有文本字段,文本区域等。。在这些字段中,我想编写一个动态内容,从数据库中获取 到目前为止,我正在pdfStamper的帮助下使用字段的x,y坐标编写动态内容。问题是内容长度超过了文本字段,与其他文本重叠请参阅下图 当达到文本字段的最大长度时,我希望将此文本换行 我用来写内容的代码是如何在java中使用iText包装文本?,java,itext,Java,Itext,我有现有的PDF模板文件,因为我有文本字段,文本区域等。。在这些字段中,我想编写一个动态内容,从数据库中获取 到目前为止,我正在pdfStamper的帮助下使用字段的x,y坐标编写动态内容。问题是内容长度超过了文本字段,与其他文本重叠请参阅下图 当达到文本字段的最大长度时,我希望将此文本换行 我用来写内容的代码是 //Read Template PdfReader pdfReader = new PdfReader("src\\main\\resources\\template
//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()
方法,我们可以得到内容的状态是否固定为定义的矩形宽度。基于此状态,我们必须更改矩形
的宽度和高度。如果不使用矩形
,是否有其他属性可用于自动换行文本?或者只需要使用矩形
来包装文本?。