如何使用 Java PDFBox 在 PDF 文件中写入图片并保留原有内容?

ID:17038 / 打印

如何使用 Java PDFBox 在 PDF 文件中写入图片并保留原有内容?

java pdfbox 向 pdf 文件中写入图片留空原有内容的技巧

在向 pdf 文件中写入图片时,默认情况下 pdfbox 可能会覆盖原有内容。为了避免这种情况,可以采用追加模式向 pdf 中写入图片。

在示例代码中,可以对以下行进行修改:

pdpagecontentstream cont = new pdpagecontentstream(doc, mypage);

改为:

pdpagecontentstream cont = new pdpagecontentstream(doc, mypage, pdpagecontentstream.appendmode.append, false, false);

通过设置 appendmode.append,pdfbox 将以追加模式写入内容,而不是覆盖原有内容。

立即学习“Java免费学习笔记(深入)”;

修改后的代码如下:

public class Test {     public static void main(String[] args) throws Exception {         File file = new File("D:\1\test.pdf");         PDDocument doc = PDDocument.load(file);         PDPage myPage = doc.getPage(0);          String imgFileName = "D:\1\test.jpg";         PDImageXObject pdImage = PDImageXObject.createFromFile(imgFileName, doc);          int iw = pdImage.getWidth();         int ih = pdImage.getHeight();          float offset = 20f;          try (PDPageContentStream cont = new PDPageContentStream(doc, myPage, PDPageContentStream.AppendMode.APPEND, false, false)) {              cont.drawImage(pdImage, offset, offset, iw, ih);         }          doc.save("D:\1\test2.pdf");     } }

使用此方法,可以向 pdf 文件中成功写入图片,同时保留原有内容。

上一篇: Java PDFBox 写入图片时如何避免覆盖原有文字?
下一篇: Java打包后引用Jar包方法找不到:为什么在IDEA中程序运行正常,但在服务器或本地却出现Jar包引用不到的问题?

作者:admin @ 24资源网   2024-11-27

本站所有软件、源码、文章均有网友提供,如有侵权联系308410122@qq.com

与本文相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。