【问题标题】:How to get all key-value pairs of a PDF form fields using javascript in Acrobat?如何在 Acrobat 中使用 javascript 获取 PDF 表单字段的所有键值对?
【发布时间】:2015-02-19 08:12:11
【问题描述】:

我已经搜索并找到了代码 sn-p 用于在 Acrobat 中使用 javascript 获取 PDF 中特定字段的值。

但我需要在 javascript 中获取所有字段作为键值对。我尝试了一些代码,但它对我不起作用。

if(this.hostContainer) {    
        var names = new Array();    
        names[0] = this.getField("personal.name").value.toString(); 
        names[1] = this.getField("personal.loginname").value.toString();    
        try{    
            this.hostContainer.postMessage(names);  
        }   
        catch(e){   
            app.alert(e.message);   
        }   
}

PDF 文件如下所示,

名称:x(可编辑)

年龄:36(可编辑)

性别:男性(可编辑)

但 PDF 中的表单域可能会有所不同。

【问题讨论】:

  • 请详细说明it won't work for me
  • 无法获取所有字段键值对。我没有看到任何获取所有键值对的java脚本方法
  • 如果您有其他信息,请将其添加到您的问题中。它将使其更清晰,并增加人们回答它的可能性。
  • 无法在 java 脚本中获取键值对。示例 pdf 看起来像上面。但 pdf 可能会有所不同(键和值)。我怎样才能得到这个?

标签: javascript acrobat


【解决方案1】:

一个非常简单的方法如下;您从控制台运行此代码:

for (var i = 0 ; i < this.numFields ; i++) {
var fn = this.getNthFieldName(i) ;
if (fn.type != "button") {
console.println("Name: " + fn + "   Value: " + this.getField(fn).valueAsString) 
}
}

应该这样做。

如果您想创建一个报告,您可以使用 Report 对象,或者您可以创建一个 Data Object(在任何一种情况下,您都将写入目标,而不是控制台)。

【讨论】:

  • 我已经完成了上面的代码sn-p。但我的问题是 java 脚本函数中的“我怎样才能获得 pdf 文档对象”。
  • 如果是文档本身,则使用“this”;如果它是另一个文档,则使用 app.openDoc() 获取其 doc 对象;您可能必须将其他文档的公开标志设置为 true,才能访问它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-06-13
  • 1970-01-01
  • 2011-04-06
  • 1970-01-01
  • 1970-01-01
  • 2011-12-24
  • 1970-01-01
相关资源
最近更新 更多