在java中使用pdfbox将文本叠加到先前创建的pdf文档上

我已经创建了几个PDF文档。 我试图做的是使用PDFBox。 我需要将文本放在这些创建文档的几个位置,但我不想修改这些区域内的文本。 例如,可能有以下部分 –

名称: ______________________________

我将文本放入该区域,但我需要下划线保持相同的长度。 我相信最好的解决方案是创建一个位于区域上方的文本框或类似文本,以使该行保持相同的长度。

换句话说,我不想编辑内联文本,因此它将保持相同的长度。 我没有这方面的代码,因为我只是想了解pdfbox包。 我一直在网上寻找示例,但大多数只是展示如何创建文档而不是如何更新以前的文档。 我该怎么做呢?

如果您需要具体的使用示例,可​​以在PDFBox重新 OverlayPDF.java中引用OverlayPDF.java :

 Overlay overlayer = new Overlay(); overlayer.setInputFile(inputFile); //the file to be overlayed PDDocument result = overlayer.overlay(overlayFile); //This will add overlays to a documents. result.save(outputFilename); result.close(); overlayer.close(); //close the input files AFTER saving the resulting file 

我找到了答案,想分享。

在pdfbox包中有一个名为Overlay的类。

  PDDocument pdfDocument = new Overlay(); PDDocument final = pdfDocument.overlay(PDDocument firstDoc, PDDocument otherDoc); 

firstDoc将覆盖到otherDoc上。 十分简单。 我只是不知道在哪里看。

如果我理解正确,您希望在现有的pdf文档中加下划线。 您可以尝试使用Java Itext,查看此示例并查看它是否有帮助。

http://tutorials.jenkov.com/java-itext/underline-strikethrough.html