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 在 PDF 文件中写入图片并保留原有内容?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号