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

时间:2015-08-24 18:24:34

标签: java pdfbox

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

姓名:______________________________

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

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

3 个答案:

答案 0 :(得分:1)

我找到了答案,想分享。

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

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

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

答案 1 :(得分:1)

如果您需要具体的使用示例,可​​以参考PDFBox reposity中的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

答案 2 :(得分:0)

If I understand you correctly, you want to underline text in an existing pdf document. You can try to use Java Itext, check this example and see if it helps.

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

提交表单