如何使 PDF 中的下拉表单自动填充文本框 [Bluebeam]
Posted
技术标签:
【中文标题】如何使 PDF 中的下拉表单自动填充文本框 [Bluebeam]【英文标题】:How to make a Drop-down form in a PDF auto-populate a text box [Bluebeam] 【发布时间】:2015-04-30 20:33:39 【问题描述】:我正在尝试让一个包含联系人的下拉表单填充一个包含该联系人的公司信息和地址的文本框。
本人对javascript有少量了解,尝试过以下代码:
var one = this.getField("Contact");
var two = this.getField("Company");
if (one.value == 'John Doe')
two.value = 'Company1';
else if (one.value == 'Jane Doe')
two.value = 'Company2';
有没有人可以指出我正确的方向?我一直在寻找类似的问题,但没有找到针对此特定问题的解决方案。
【问题讨论】:
【参考方案1】:Bluebeam 是一个相对智能的 PDF 查看器,应该可以进行一些 JavaScript 处理。但是,您必须检查它是否有效;我无权访问 Bluebeam,也无法自己测试)。可能的解决方案如下所示:
a) 您创建一个文档级 JavaScript,其中包含一个联系信息数组(可能不仅包含公司名称,还包含地址等。该数组可能如下所示:
var contarr = new Array() ;
contarr[0] = ["Contact Person", "Company", "Address", "City", "State", "Zip"] ;
contarr[1] = ["John Doe", "Does and Donz", "Main Street", "Doetown", "TX", "99999"]
// and so on
b) 在下拉列表中,添加联系人姓名,并在 contarr 数组中添加其条目的索引号作为返回值。假设我们将下拉菜单称为“联系人”。
c) 在独立的文本字段中,添加以下计算脚本:
var sele = this.getField("Contact").value ;
this.getField("Company").value = contarr[sele][1] ;
this.getField("Address").value = contarr[sele][2] ;
this.getField("City").value = contarr[sele][3] ;
this.getField("State").value = contarr[sele][4] ;
this.getField("Zip").value = contarr[sele][5] ;
如果一切设置正确,并且您重新打开了文档,您应该能够选择一个联系人,其余信息将填写相应的字段。
【讨论】:
以上是关于如何使 PDF 中的下拉表单自动填充文本框 [Bluebeam]的主要内容,如果未能解决你的问题,请参考以下文章