无法弄清楚如何使用PDFBox

我正在尝试创建一个PDF文件,其中包含文档中的大量文本框和来自其他类的文本框。 我正在使用PDFBox。

好的,创建一个新文件很简单,编写一行文本很容易。 现在,当我尝试插入下一个文本行或文本字段时,它会覆盖内容。

PDDocument doc = null; PDPage page = null; try{ doc = new PDDocument(); page = new PDPage(); doc.addPage(page); PDFont font = PDType1Font.HELVETICA_BOLD; PDPageContentStream title = new PDPageContentStream(doc, page); title.beginText(); title.setFont( font, 14 ); title.moveTextPositionByAmount( 230, 720 ); title.drawString("DISPATCH SUMMARY"); title.endText(); title.close(); PDPageContentStream title1 = new PDPageContentStream(doc, page); title1.beginText(); title1.setFont( font, 11 ); title1.moveTextPositionByAmount( 30, 620 ); title1.drawString("DEPARTURE"); title1.endText(); title1.close(); doc.save("PDFWithText.pdf"); doc.close(); } catch (Exception e){ System.out.println(e); } 

它确实给了我一个错误:“你正在覆盖现有内容,你应该使用追加模式”。

所以我正在尝试title1.appendRawCommands(String) ,但它无法正常工作。

如何添加新文本框和文本字段(来自其他类)? 我在互联网上阅读了数十篇教程,但他们只展示创建一行。

 PDPageContentStream title1 = new PDPageContentStream(doc, page, true, true); 

OP将此作为答案发布,因此这将向系统标记有答案

此外,如果第一内容流包含实质上改变图形状态的操作,例如通过改变当前变换矩阵,并且希望新内容流以这些变化恢复开始,则应该使用具有三个布尔参数的构造函数:

 PDPageContentStream title1 = new PDPageContentStream(doc, page, true, true, true);