首页 新闻 搜索 专区 学院

Java PDFBox 向PDF文件中写入图片

0
悬赏园豆:20 [已解决问题] 解决于 2021-02-01 11:18

需求:向已有的PDF文件中的指定位置写入一张图片。
问题:图片写入成功,但是图片所在的页的文字全部消失了,只剩下写入后的图片。
已知:写入图片的位置有足够大的空白处。
期望:写入图片不会影响到原有的内容。

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)) {

        cont.drawImage(pdImage, offset, offset, iw, ih);
    }

    doc.save("D:\\1\\test2.pdf");
}

}

你学会了吗的主页 你学会了吗 | 菜鸟二级 | 园豆:202
提问于:2021-02-01 10:46
< >
分享
最佳答案
0

找到了解决办法,使用追加而不是默认的覆盖方式。

PDPageContentStream cont = new PDPageContentStream(doc, myPage,PDPageContentStream.AppendMode.APPEND,false,false);

你学会了吗 | 菜鸟二级 |园豆:202 | 2021-02-01 11:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册