【问题标题】:Replace Image in PDF with another Image pdf box用另一个图像 pdf 框替换 PDF 中的图像
【发布时间】:2013-06-29 16:58:19
【问题描述】:

如何将 PDF 中的图像替换为另一个图像 pdf 框。该怎么做?

我想用另一张图片更改 pdf 上的 VisualSignature。

我得到这样的视觉体验:

PDDocument doc= PDDocument.load(new FileInputStream("c:\\temp\\template.pdf")); 
File dir= new File("c:\\temp\\");

Iterator<Entry<COSObjectKey, Long>> xrefEntriesIt =
    doc.getDocument().getXrefTable().entrySet().iterator();
while( xrefEntriesIt.hasNext() ) {
    COSObject object = doc.getDocument().getObjectFromPool(
        xrefEntriesIt.next().getKey() );
    if ( object.getDictionaryObject( COSName.SUBTYPE ) == COSName.IMAGE ) {
        changeImage( object, doc);
    }
}

及换图方法

private static void changeImage(COSObject obj, PDDocument doc) {

    PDXObjectImage imageInPdf =
        (PDXObjectImage) PDXObject.createXObject(
            (COSStream) obj.getObject());

    File inputFile = new File("C:\\temp\\SIGNATURE.jpg");
    PDXObjectImage newImage = new PDJpeg(
        doc, new FileInputStream(inputFile));
    imageInPdf.getCOSStream().replaceWithStream(newImage.getCOSStream());
}

我测试过。 imageInPdf 是来自签名签名字段的视觉外观的拉力赛图像。

现在如何删除和添加签名签名字段的新视觉外观?

【问题讨论】:

  • 您是指签名签名字段的视觉外观吗?还是一个尚未签名的空文件?
  • 我刚刚更新了我的帖子。是的,出现签名的签名字段。我得到那个图像。来自 COSObject。但不能改变它。

标签: image pdf pdfbox


【解决方案1】:

我刚刚添加了doc.save()。就是这样

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-08-15
    • 2012-03-25
    • 1970-01-01
    • 2022-10-14
    • 2020-09-10
    • 2011-08-13
    • 1970-01-01
    • 2013-10-13
    相关资源
    最近更新 更多