Javascript 如何使用VB.Net识别PDF中的签名字段
大家好,我正在寻找一种方法,使用VB.Net或JavaScript和Acrobat查找PDF上的签名字段,然后我想检查它是否已签名。以下是我到目前为止的情况:Javascript 如何使用VB.Net识别PDF中的签名字段,javascript,vb.net,acrobat,Javascript,Vb.net,Acrobat,大家好,我正在寻找一种方法,使用VB.Net或JavaScript和Acrobat查找PDF上的签名字段,然后我想检查它是否已签名。以下是我到目前为止的情况: Dim page As Acrobat.CAcroPDPage Dim annot As Acrobat.CAcroPDAnnot page = acroPDDoc.AcquirePage(0) For i = 0 To page.GetNumAnnots - 1
Dim page As Acrobat.CAcroPDPage
Dim annot As Acrobat.CAcroPDAnnot
page = acroPDDoc.AcquirePage(0)
For i = 0 To page.GetNumAnnots - 1
annot = page.GetAnnot(i)
Next
我正在查找注释,但我不知道如何检查它是否是签名字段。感谢使用JavaScript,您可以使用this.getNthFieldName(i)获取acrobat文档上的所有字段名。然后,您必须使用“field.type.localeCompare(“signature”)==0”找到正确的字段,以确保这是您要查找的字段。之后,只需对其进行处理,以确定是否存在签名 下面是我用来确定是否存在数字签名的代码片段
for(var i = 0; i < this.numFields; i++) {
var a = this.getNthFieldName(i);
var field = this.getField(a);
if(field.type.localeCompare("signature") == 0) {
var s = field.signatureInfo();
if( s.name == null) {
console.println("Digital Signature Not Present.");
return -1;
}else {
console.println("Digital Signature Present.");
return 0;
}
}
}
for(var i=0;i
通过JavaScript,您可以使用this.getNthFieldName(i)获取acrobat文档上的所有字段名。然后,您必须使用“field.type.localeCompare(“signature”)==0”找到正确的字段,以确保这是您要查找的字段。之后,只需对其进行处理,以确定是否存在签名
下面是我用来确定是否存在数字签名的代码片段
for(var i = 0; i < this.numFields; i++) {
var a = this.getNthFieldName(i);
var field = this.getField(a);
if(field.type.localeCompare("signature") == 0) {
var s = field.signatureInfo();
if( s.name == null) {
console.println("Digital Signature Not Present.");
return -1;
}else {
console.println("Digital Signature Present.");
return 0;
}
}
}
for(var i=0;i
将窗体暗显为Acrobat.CAcroPDDoc
Dim jso作为对象
theForm = CreateObject("AcroExch.PDDoc")
theForm.Open("C:\Temp\Maru\DeclaracionJurada.pdf")
jso = theForm.GetJSObject
'Verifica que la firma sea valida
Dim signatureOne = jso.getField("Signature2")
Dim oState = signatureOne.SignatureValidate()
Select Case oState
Case Is = -1
ListBox1.Items.Add("Estado : Sin Firma ")
Case Is = 0
ListBox1.Items.Add("Estado : Firma en blanco ")
Case Is = 1
ListBox1.Items.Add("Estado : No conoce el estado de la firma ")
Case Is = 2
ListBox1.Items.Add("Estado : Firma invalida ")
Case Is = 3
ListBox1.Items.Add("Estado : La firma es valida, pero la identidad del firmante no se pudo verificar ")
Case Is = 4
ListBox1.Items.Add("Estado : Firma e identidad son validas ")
End Select
'Extrae la info del firmante, nombre y fecha de la firma
Dim signatureInformation = signatureOne.signatureInfo
ListBox1.Items.Add("Firmante " & signatureInformation.name)
ListBox1.Items.Add("Fecha " & signatureInformation.Date)
'Extrae la info del certificado
Dim signatureCertificate = signatureInformation.certificates
ListBox1.Items.Add("Emitido a : " & signatureCertificate(0).subjectDN.serialNumber)
ListBox1.Items.Add("Numero de Serie : " & signatureCertificate(0).serialNumber)
ListBox1.Items.Add("Valido desde : " & signatureCertificate(0).validityStart)
ListBox1.Items.Add("Valido hasta : " & signatureCertificate(0).validityEnd)
ListBox1.Items.Add("Para : " & signatureCertificate(0).subjectDN.o)
ListBox1.Items.Add("Tipo : " & signatureCertificate(0).subjectDN.ou)
ListBox1.Items.Add("Emitido Por : " & signatureCertificate(0).issuerDN.cn)
将窗体暗显为Acrobat.CAcroPDDoc Dim jso作为对象
theForm = CreateObject("AcroExch.PDDoc")
theForm.Open("C:\Temp\Maru\DeclaracionJurada.pdf")
jso = theForm.GetJSObject
'Verifica que la firma sea valida
Dim signatureOne = jso.getField("Signature2")
Dim oState = signatureOne.SignatureValidate()
Select Case oState
Case Is = -1
ListBox1.Items.Add("Estado : Sin Firma ")
Case Is = 0
ListBox1.Items.Add("Estado : Firma en blanco ")
Case Is = 1
ListBox1.Items.Add("Estado : No conoce el estado de la firma ")
Case Is = 2
ListBox1.Items.Add("Estado : Firma invalida ")
Case Is = 3
ListBox1.Items.Add("Estado : La firma es valida, pero la identidad del firmante no se pudo verificar ")
Case Is = 4
ListBox1.Items.Add("Estado : Firma e identidad son validas ")
End Select
'Extrae la info del firmante, nombre y fecha de la firma
Dim signatureInformation = signatureOne.signatureInfo
ListBox1.Items.Add("Firmante " & signatureInformation.name)
ListBox1.Items.Add("Fecha " & signatureInformation.Date)
'Extrae la info del certificado
Dim signatureCertificate = signatureInformation.certificates
ListBox1.Items.Add("Emitido a : " & signatureCertificate(0).subjectDN.serialNumber)
ListBox1.Items.Add("Numero de Serie : " & signatureCertificate(0).serialNumber)
ListBox1.Items.Add("Valido desde : " & signatureCertificate(0).validityStart)
ListBox1.Items.Add("Valido hasta : " & signatureCertificate(0).validityEnd)
ListBox1.Items.Add("Para : " & signatureCertificate(0).subjectDN.o)
ListBox1.Items.Add("Tipo : " & signatureCertificate(0).subjectDN.ou)
ListBox1.Items.Add("Emitido Por : " & signatureCertificate(0).issuerDN.cn)
如何使用VB.Net识别PDF中的签名字段
Dim gApp As Acrobat.CAcroApp
Dim gPDDoc As Acrobat.CAcroPDDoc
Dim jso As Object
Dim fname As String
gApp = CreateObject("AcroExch.App")
gPDDoc = CreateObject("AcroExch.PDDoc")
If gPDDoc.Open("C:\Temp\Solicitud de empleo.pdf") Then
jso = gPDDoc.GetJSObject
For i = 0 To jso.numFields - 1
fname = jso.getNthFieldName(i)
ListBox1.Items.Add("Campo : " & fname & " valor: " & jso.getField(fname).value)
MessageBox.Show(jso.getField(fname).type)
Next
End If
如何使用VB.Net识别PDF中的签名字段
Dim gApp As Acrobat.CAcroApp
Dim gPDDoc As Acrobat.CAcroPDDoc
Dim jso As Object
Dim fname As String
gApp = CreateObject("AcroExch.App")
gPDDoc = CreateObject("AcroExch.PDDoc")
If gPDDoc.Open("C:\Temp\Solicitud de empleo.pdf") Then
jso = gPDDoc.GetJSObject
For i = 0 To jso.numFields - 1
fname = jso.getNthFieldName(i)
ListBox1.Items.Add("Campo : " & fname & " valor: " & jso.getField(fname).value)
MessageBox.Show(jso.getField(fname).type)
Next
End If
你能合并你的答案吗?你能合并你的答案吗?你能合并你的答案吗?你能合并你的答案吗?