pdf - 是否可以检索错误合并的数字签名 pdf 文件?
问题描述
我犯了一个错误,将多个数字签名的 pdf 文件合并为一个。是否有可能我可以从该文件中检索带有签名的原始 pdf 文件?
不幸的是,它必须来自合并的文件,因为我的工作涉及法律问题。谢谢
解决方案
您几乎不可能检索到签名仍然有效的原始 PDF。
合并 PDF 完全改变了源文件的数据结构。例如:
PDF 中的间接对象有编号,通常从 PDF 中的数字 1 开始;在合并的 PDF 中,每个导入的间接对象都需要一个不同的编号,这些编号中的大多数会在合并过程中发生变化以防止冲突。
来自输入 PDF 的众多对象被合并为一个,例如页面树被合并为一个,表单定义被合并为一个,...
源 PDF 中的大部分文档级信息(如元数据)都被删除了。
PDF 标准允许用不同的方式来表示完全相同的信息。例如,行尾、一般的空格、对象交叉引用类型、字典中的条目顺序……
...
另一方面,数字签名要求其签名的 PDF 修订版逐字节地保持原件的有效性。
因此,几乎不可能从合并的文件中重新创建最初签名的 PDF 修订版。
一个例外:如果您的 PDF 合并碰巧使用增量更新进行合并,则可能可以从合并的 PDF 中提取第一个合并的 PDF。不过,我不知道默认情况下使用增量更新的 PDF 合并。
推荐阅读
- xml - XQuery 不能按元素名称选择子元素,可以按索引选择
- amazon-lightsail - AWS LightSail 更新启动脚本
- mysql - 错误 #1265 - 无法在默认的“无”字段中插入空值
- ios - 最后一个单元格上的 UITableView beginUpdate 和 endUpdate 重新加载 tableview
- java - 将 (YAML) 文件转换为任何 MAP 实现
- linux - gnu makefile 通过要忽略的文件夹列表过滤源文件列表
- swift - 添加秒到日期的结果是一分钟; 解决方法
- javascript - svg hover 突出显示一个大陆的所有国家
- android - 将对象列表映射到字符串列表
- sql-server - 使用 SQL Server 进行科学用途:什么数据类型?