【发布时间】: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。但不能改变它。