使用Excel工作表或.csv文件自动更新Acrobat中的表单信息

时间:2018-11-12 05:30:52

标签: javascript acrobat

我想通过从Excel工作表中读取来自动填充pdf中的表单字段。

例如,如果我在pdf文档中有一个名为“地址”的字段,并且我在同一文件夹中有一个excel表格,并且其中的单元格包含“地址”,那么我希望pdf中的字段自动更新如果有人更改了Excel工作表中的地址单元格。

我知道您可以手动将excel工作表导入Acrobat Pro,但是我希望在文档打开时自动发生这种情况。

我一直在研究使用Acrobat的javascript,但无法了解如何在此应用程序中使用它。

如果我还不清楚,请随时提出,我会尽力澄清。

欢呼

1 个答案:

答案 0 :(得分:0)

在Excel中,我将为包含地址的单元格设置一个单元格onChange事件。如果单元格值更改,则可以调用acrobat并用新值填写表格。在xls中附加了所需的vbs / vba子例程代码,以将表单填写为pdf。

帮助和背景信息,您可以在Adobe Acrobat SDK的IAC部分中找到。祝你好运,莱因哈德

fileIn = "D:\Test2.pdf"              '// state the full path of the file to open
xlsCellValue = "newAddress"        '// value you want to set

Set App = CreateObject("AcroExch.App")     '// start Adobe Acrobat
App.Show                           '// show Acrobat or comment out for hidden mode

Set AVDoc = CreateObject("AcroExch.AVDoc") '// connect to Ac Viewer
if AVDoc.Open(fileIn,"") then              '// Open a file into viewer
    Set PDDoc = AVDoc.GetPDDoc             '// Get the Doc opened in the viewer
    set jso = PDDoc.GetJSObject            '// Connect to Acrobat JS
    set xf = jso.getField("Address")        '// get field object
    xf.value = xlsCellValue             '// set field value
    jso.app.alert(xf.value)         '// Display new value in a MsgBox
    PDDoc.save 1, fileIn            '//save the file
end if

App.CloseAllDocs                  '// close active documents
App.exit