我在将带有签名的 PDF 编码为 Base64 时遇到问题。我有这段代码,它可以工作,但没有签名:
// function to encode file data to base64 encoded string
function base64_encode(file) {
// read binary data
var bitmap = fs.readFileSync(file);
// convert binary data to base64 encoded string
return new Buffer(bitmap).toString("base64");
}
我获得了 Base64 编码的数据,但其中没有签名?
最佳答案
将整个 PDF 文件渲染为 Base64 编码对于删除 PDF 中的签名没有任何作用。一旦签名出现,base64 编码和解码应该会为您提供与开始时完全相同的数据。因此,如果您要解码没有任何签名的 PDF 文件,则不得对包含 PDF 签名的 PDF 文件进行编码。
实际上,对 PDF 进行签名是一个多步骤过程:保存 PDF、计算文件大部分部分的哈希值,然后将这些哈希值写入文件中不属于哈希输入的部分。
所以我相信您可能正在编码自“添加”签名以来尚未完全更新/保存的文件版本。
关于node.js - Node base64编码带有签名的pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44436740/