我的公司要求一个从PDF表单中提取数据的Java服务实现,以便直接启动使用Apache PDFBox的客户端操作的处理功能。很简单。最困难的部分是,我公司的客户代表最终客户提交了表格,但最终客户签名必须经过验证。
签署这些表格的业务案例是通过非正式的电子签名(湿签名的数字表示)过程,例如Adobe中带有客户签名图像的签名“标记”,或者在iPad上绘制触摸屏。到目前为止,我无法始终验证这种类型的签名,甚至无法持续地维护PDF状态,以便在这种签名仪式之后仍然可以被PDFBox读取。
通过数字签名表单字段验证签名是很简单的,我已经向我们的企业传达了这一点。但是,由于在这些情况下,签名者通常是所使用的任何机器上的数字证书的所有者,因此假定大多数这些交互将发生在客户办公室。
我有几个选择:
我想上传几个PDF样本,但它们当然都是公司专有信息。我只想说我们没有任何巫师用这些表格做令人惊奇的事情.它们都是您的基本AcroForms,我正在努力弄清楚如何配置签名区域。
谢谢。
发布于 2018-01-11 16:43:49
关于你的实际问题:
我有一个小小的解决办法,使用Acrobat的最新版本,将图像表单字段放在签名区域,这非常好,除了一件事:我尝试过的所有软件都将这个表单字段类型读取为一个按钮。是否有任何方法强迫它识别图像,或任何PDF读取软件是更最新的,并能检测到这些字段?
任何将这些字段识别为按钮的PDF阅读软件都是最新的,至少在这方面是如此,因为.在PDF文件格式中没有“图像表单字段”!
一些PDF创建者使用按钮表单字段来模拟图像表单字段,该字段通过JavaScript获取图像表单字段的行为。当然,这种模拟是不完整的。特别是,这样一个字段中的图像不是表单字段的值,而仅仅是它的外观。
因此,如果要实现从这样一个模拟图像表单字段读取值,则必须提取按钮的外观。
关于整个情景的一些评论:
..。最终客户签名必须经过验证。 签署这些表格的商业案例是通过非正式的电子签字(湿签名的数字表示)过程。
与基于证书的数字签名不同,您很难对此类签名进行任何值得称为“验证”的操作。
好的,您可以在PDF中的一些模拟图像字段中查找图像,但您不能保证可以在该图像上看到湿签名的人支持该格式的数据,更不用说亲自签名了。就像其他人只是从不同的手写文件中扫描了那个人的签名,然后用扫描来填写表格.
到目前为止,我无法始终验证这种类型的签名。
应该可以提取大多数这样的湿签名。
如果是位图图像,也不要忘记提取图像掩码,如果适用的话。大量的应用程序用笔色填充基本图像,并在掩码中包含实际的签名图。
甚至无法始终如一地维护PDF状态,使其在这种签名仪式之后仍然可以被PDFBox读取。
这听起来像是执行签字仪式的软件的不当行为。不过,除非你能分享这方面的例子,否则很难帮助你分析问题。
https://stackoverflow.com/questions/48210597
复制相似问题