如何在Acrobat中使用javascript将一系列两个字段合并为一系列一个字段

如何在Acrobat中使用javascript将一系列两个字段合并为一系列一个字段,javascript,pdf,acrobat,Javascript,Pdf,Acrobat,我将此数据保存在Excel文件中: First Name_1 Amy First Name_2 Bobby First Name_3 Courteney First Name_4 First Name_5 Last Name_1 Adams Last Name_2 Brown Last Name_3 Cox Last Name_4 Last Name_5 我水平排列了数据(),并将其保存为.txt文件 我需要将这些名称放入pdf,因

我将此数据保存在Excel文件中:

First Name_1    Amy
First Name_2    Bobby
First Name_3    Courteney
First Name_4    
First Name_5    
Last Name_1     Adams
Last Name_2     Brown
Last Name_3     Cox
Last Name_4 
Last Name_5 
我水平排列了数据(),并将其保存为.txt文件

我需要将这些名称放入pdf,因此我在Adobe Acrobat中创建了15个字段,命名如下:

First Name_1
Last Name_1
Full Name_1

First Name_2
Last Name_2
Full Name_2

First Name_3
Last Name_3
Full Name_3

First Name_4
Last Name_4
Full Name_4

First Name_5
Last Name_5
Full Name_5
我需要将每个人的名字和姓氏合并到各自的全名字段中。

我是这样做的:我右键单击页面的缩略图并选择 并单击“操作”选项卡。然后我创建了一个,并输入了以下代码:

var firstName1 = this.getField("First Name_1").valueAsString;
var lastName1 = this.getField("Last Name_1").valueAsString;
this.getField("Full Name_1").value = lastName1 + ", " + firstName1;

var firstName2 = this.getField("First Name_2").valueAsString;
var lastName2 = this.getField("Last Name_2").valueAsString;
this.getField("Full Name_2").value = lastName2 + ", " + firstName2;

var firstName3 = this.getField("First Name_3").valueAsString;
var lastName3 = this.getField("Last Name_3").valueAsString;
this.getField("Full Name_3").value = lastName3 + ", " + firstName3;

var firstName4 = this.getField("First Name_4").valueAsString;
var lastName4 = this.getField("Last Name_4").valueAsString;
this.getField("Full Name_4").value = lastName4 + ", " + firstName4;

var firstName5 = this.getField("First Name_5").valueAsString;
var lastName5 = this.getField("Last Name_5").valueAsString;
this.getField("Full Name_5").value = lastName5 + ", " + firstName5;
当我导入.txt文件时,我会得到

我的主要问题是:如何编写较短的代码?我需要用几十个名称填充表单,我相信我不必为每个名称编写三行代码

另一个问题是:当没有这些字段的数据时,如何摆脱出现的孤独的逗号

干杯

我找到办法了

[编辑:也检查我的其他解决方案。我相信这是一个更好的解决方案]

for(变量i=1;i<26;i++)
{
this.getField(“全名”+i).value=this.getField(“姓氏”+i).valueAsString
+ ", "
+this.getField(“名字”+i).valueAsString;
}
我刚刚将的答案改为“”。这家伙的力量很强大;)

如果有人能改进我的代码,请继续。我将非常感激

例如:有人知道如何去掉那些干扰性的逗号吗?。我需要它们只显示在有数据的字段中


干杯

这里有一个更好的解决方案

此选项可防止逗号显示在空字段中:

for ( var i = 1; i < 26; i++) //Up to 25 series will be affected
{
//If the Full Name field is not empty...
if (this.getField("Full Name_" + i).value.length!=0) {
//...leave it as it is.
    this.getField("Full Name_" + i).value = this.getField("Full Name_" + i).valueAsString
//If the First Name field is empty...
} else if (this.getField("First Name_" + i).value.length==0) {
//...duplicate the "Last Name" field on the "Full Name" one.
    this.getField("Full Name_" + i).value = this.getField("Last Name_" + i).valueAsString
//Else...
} else {
//...merge "Last Name, First Name" into the "Full Name" field.
    this.getField("Full Name_" + i).value = this.getField("Last Name_" + i).valueAsString
    + ", "
    + this.getField("First Name_" + i).valueAsString;
}
}
(变量i=1;i<26;i++)的
for//最多25个系列将受到影响
{
//如果全名字段不是空的。。。
if(this.getField(“全名”+i).value.length!=0){
//…保持原样。
this.getField(“全名”+i).value=this.getField(“全名”+i).valueAsString
//如果名字字段为空。。。
}else if(this.getField(“First Name”+i).value.length==0){
//…在“全名”字段上复制“姓氏”字段。
this.getField(“全名”+i).value=this.getField(“姓氏”+i).valueAsString
//否则。。。
}否则{
//…将“姓、名”合并到“全名”字段中。
this.getField(“全名”+i).value=this.getField(“姓氏”+i).valueAsString
+ ", "
+this.getField(“名字”+i).valueAsString;
}
}
for ( var i = 1; i < 26; i++) //Up to 25 series will be affected
{
//If the Full Name field is not empty...
if (this.getField("Full Name_" + i).value.length!=0) {
//...leave it as it is.
    this.getField("Full Name_" + i).value = this.getField("Full Name_" + i).valueAsString
//If the First Name field is empty...
} else if (this.getField("First Name_" + i).value.length==0) {
//...duplicate the "Last Name" field on the "Full Name" one.
    this.getField("Full Name_" + i).value = this.getField("Last Name_" + i).valueAsString
//Else...
} else {
//...merge "Last Name, First Name" into the "Full Name" field.
    this.getField("Full Name_" + i).value = this.getField("Last Name_" + i).valueAsString
    + ", "
    + this.getField("First Name_" + i).valueAsString;
}
}