登录
首页 >  文章 >  java教程

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

时间:2024-11-20 16:22:06 404浏览 收藏

目前golang学习网上已经有很多关于文章的文章了,自己在初次阅读这些文章中,也见识到了很多学习思路;那么本文《如何使用 Java PDFBox 在 PDF 文件中写入图片并保留原有内容? 》,也希望能帮助到大家,如果阅读完后真的对你学习文章有帮助,欢迎动动手指,评论留言并分享~

如何使用 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 将以追加模式写入内容,而不是覆盖原有内容。

修改后的代码如下:

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 文件中成功写入图片,同时保留原有内容。

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于文章的相关知识,也可关注golang学习网公众号。

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>