java填充pdf并手写签名,PDFBox 1.8.10:“填充并签名” PDF会生成无效的签名

使用PDFBox在Java中填充PDF文档并添加签名时遇到问题,签名显示为无效。单独签名操作有效,但在填充表格后再签名会导致Acrobat Reader报错。已提供相关PDF文件以供分析。
摘要由CSDN通过智能技术生成

我在PDF文档中(以编程方式)填写了表格(AcroPdf),然后在文档上签名。我从doc.pdf开始,使用PDFBox的setFields.java示例创建doc_filled.pdf。然后,我根据签名示例使用一些代码对doc_filled.pdf进行签名,以创建doc?filled_signed.pdf,然后在Acrobat

Reader中打开pdf。输入的字段数据可见,签名面板告诉我

“此签名中包含格式或信息方面的错误(签名字节数组无效)”

到目前为止,我知道:

单独应用的签名代码(即直接创建一些doc_signed.pdf)会创建有效的签名

存在将“不可见签名”,可见签名和可见签名添加到现有签名字段的问题。

如果我不填写表格,而仅打开并保存表格,则甚至会出现问题,即:PDDocument doc = PDDocument.load(new File("doc.pdf"));

doc.save(new File(“doc_filled.pdf”));

doc.close();

足以破坏后来应用的签名代码。

另一方面,如果我使用相同的doc.pdf,请在Adobe中手动输入该字段的值,签名代码会产生有效的签名。

我究竟做错了什么?

更新:

@mkl要求我提供文件,我正在谈论(我目前没有足够的声誉,无法将所有文件发布为链接,对于给您带来的不便表示抱歉):

odc.pdf:https://www.dropbox.com/s/ev8x9q48w5l0hof/doc.pdf &#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值