5

如何用另一个图像 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 是来自签名签名字段的视觉外观的拉力赛图像。

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

4

1 回答 1

3

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

于 2013-07-02T12:23:42.980 回答