我正在构建一个Android应用,可让用户将其数字签名添加到PDF文件中。到目前为止,我所做的是用户可以通过此功能浏览并选择PDF文件进行查看:
private void showFileChooser() {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("application/pdf");
intent.addCategory(Intent.CATEGORY_OPENABLE);
try {
startActivityForResult(
Intent.createChooser(intent, "Select a File to Upload"),
FILE_SELECT_CODE);
} catch (android.content.ActivityNotFoundException ex) {
// Potentially direct the user to the Market with a Dialog
Toast.makeText(this, "Please install a File Manager.",
Toast.LENGTH_SHORT).show();
}
}
在onActivityResult
方法中,我将所选文件URI抛出到PDF查看器以查看它。然后,用户可以通过自定义视图添加其签名,并将签名作为位图并将其作为图像保存到本地设备存储。
我想要的是将此图像添加到当前查看的PDF文件中作为其一部分并再次使用图像保存PDF文件。
有没有人知道如何将签名位图图像添加到PDF文件并保存?
答案 0 :(得分:1)
根据您的应用所使用的国家/地区,我建议您对“数字签名”一词保持谨慎。
添加某人签名的图像并不是一种非常安全的策略。使用Adobe,提取图像非常容易。这意味着我可以通过简单地重新插入图像来“伪造”我签名文件的签名。
在更复杂的方法中,签名是通过向文件添加额外信息来实现的,如下所示(简化):
现在假设Alice想要验证Bob是否签名
为什么这样做?
这是一本很酷的电子书 http://pages.itextpdf.com/ebook-digital-signatures-for-pdf.html