我如何通过在我已经知道的像素特定位置书写来使用java和pdfbox编辑pdf页面?
我尝试过这个,但它会覆盖:
PDDocument document = null;
try {
document = PDDocument.load(new File("/x/x/x/mypdf.pdf"));
PDPage page = (PDPage) document.getDocumentCatalog().getAllPages().get(0);
PDFont font = PDType1Font.HELVETICA_BOLD;
PDPageContentStream contentStream = new PDPageContentStream(document, page);
page.getContents().getStream();
contentStream.beginText();
contentStream.setFont(font, 12);
contentStream.moveTextPositionByAmount(100, 100);
contentStream.drawString("Hello");
contentStream.endText();
contentStream.close();
document.save("/x/x/x/mypdf.pdf");
document.close();
} catch (IOException e) {
e.printStackTrace();
} catch (COSVisitorException e) {
e.printStackTrace();
}
谢谢。
您可以使用 PDFBox,您所缺少的只是附加到页面。只需更改这一行:
PDPageContentStream contentStream = new PDPageContentStream(document, page);
to:
PDPageContentStream contentStream = new PDPageContentStream(document, page, true, true);
从PDFBox 2.0开始,boolean
appendContent
已被替换为AppendMode
APPEND
这样前面的代码的等价物现在是:
PDPageContentStream contentStream = new PDPageContentStream(
document, page, PDPageContentStream.AppendMode.APPEND, true
);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)