如何查找 PDF 表单字段类型

Posted

技术标签:

【中文标题】如何查找 PDF 表单字段类型【英文标题】:How to find a PDF form field type 【发布时间】:2017-04-25 06:04:51 【问题描述】:

似乎缺少 adobe 属性/方法的文档。我有 Adob​​e 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 模板:如何知道表单字段类型并根据字段类型添加任何按钮

如何检查 django 表单中的字段类型?

如何初始化字段类型可变的Django表单

Symfony + FOSRestBundle - 如何允许 NULL 值到配置有自定义表单类型的字段?

如何使用 iText 获取 Pdf 表单字段的自定义格式脚本?

如何修改 Django 中特定类型的所有内置表单字段的默认小部件?