java - 在 Java 中检索 PDF 签名表单字段的坐标

标签 java pdf pdfbox openpdf

我想知道如何使用 PDFBOX 或 OpenPDF 检索 PDF 中签名表单字段的坐标。输入的 PDF 包含经过数字签名的电子签名。

期待您的帮助。

最佳答案

占位符对我来说意味着未签名的签名,但您提到了签名字段。但我写了两个针对 openPDF 的解决方案:

PdfReader reader = new PdfReader(...)
AcroFields fields = reader.getAcroFields();
//unsigned signatures
//ArrayList<String> al = fields.getBlankSignatureNames();
//signed signatures
ArrayList<String> al = fields.getSignatureNames();     

for (int i = 0; i < al.size(); i++) {

 String fieldName = al.get(i);
 float[] position = fields.getFieldPositions(fieldName);

 //assuming that signatures doesn't have several widgets. (like it can be for other fields)
 for(int i=0;i<position.length;i+=5){
    int pageNumber = (int) position[0];
    float lowerLeftX = position[1]; 
    float lowerLeftY = position[2];
    float upperRightX = position[3];
    float upperRightY = position[4];
    System.out.println("llx:"+lowerLeftX+" lly:"+lowerLeftY+" urx:"+upperRightX+" ury: "upperRightY);
 }

关于java - 在 Java 中检索 PDF 签名表单字段的坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54698944/

相关文章:

Java Recursion - 几个递归调用的输出

javascript - Sonarqube 6.7.5 即使项目没有 src/main/java 文件夹也计算代码覆盖率

java - 同步计数器计数不正确

javascript - PDF 转换后不显示更改的值

java - 将自定义页码标签保存在书签中

java - 自定义 PDFTextStripper PDFbox

python - 解析 PDF 文档中的表格

java - 如何转换继承的封装属性以公开子类的方法 - Java

python - 使用 python pypdf 合并 PDF 并删除合并的文件

c# - 将所有打印作业另存为 PDF