如何查找 PDF 表单字段类型
Posted
技术标签:
【中文标题】如何查找 PDF 表单字段类型【英文标题】:How to find a PDF form field type 【发布时间】:2017-04-25 06:04:51 【问题描述】:似乎缺少 adobe 属性/方法的文档。我有 Adobe SDK API,但缺少任何细节。
我有将数据从 Excel 文档写入 PDF 表单的代码。它遍历所有字段并将数据写入 PDF 表单。如果 PDF 表单字段类型是数字,我会抛出错误。
我需要测试 PDF 表单域是否为数字。如果是,我会将该字段名称添加到集合中,并在该过程完成后显示。
我查找了 GetField 属性,但找不到任何文档。比如:
IF jso.getfield(strField).type=numeric
colFail.Add=strField
【问题讨论】:
我在循环中放了一个错误处理程序,它跳出循环并记录导致错误的字段名称。然后,我会显示该过程完成后出错的字段名称。这对我正在处理的事情很有效。 【参考方案1】:查看 Peh 提供的链接后(谢谢 Peh);我是这样处理的:
'Fill the form fields.
For r = 20 To 149
strField = ToPDFsh.Cells(r, 3).Value
strFieldVal = ToPDFsh.Cells(r, 4).Value
If strFieldVal = "" Then GoTo BlankVal
objJSO.GetField(strField).Value = strFieldVal
On Error GoTo ErrHandler
空白值: 下一个r`
呜呜呜……然后
ErrHandler:
e = e + 1
If e > 7 Then
MsgBox "Something Bad happend... :(" & vbNewLine & "Form not filled", vbCritical, "Failed"
GoTo ErrHandlerExit
End If
colFail.Add strField
Resume Next
Exit Sub
ErrHandler 退出: '关闭表单而不保存更改。 objAcroAVDoc.Close True
'Close the Acrobat application.
objAcroApp.Exit
'Release the objects and exit.
Set objJSO = Nothing
Set objAcroPDDoc = Nothing
Set objAcroAVDoc = Nothing
Set objAcroApp = Nothing
'Enable the screen.
Application.ScreenUpdating = True
Exit Sub
结束子
【讨论】:
以上是关于如何查找 PDF 表单字段类型的主要内容,如果未能解决你的问题,请参考以下文章
django 模板:如何知道表单字段类型并根据字段类型添加任何按钮
Symfony + FOSRestBundle - 如何允许 NULL 值到配置有自定义表单类型的字段?