pdf表单上的数据控件 - Livecycle + XML Datasource

时间:2016-03-30 05:21:45

标签: javascript xml pdf livecycle livecycle-designer

我需要创建一个pdf表单,您可以在其中单击xml数据源中的不同记录,类似于ODBC version shown here

对于ODBC,使用了以下API:

xfa.sourceSet.DataConnection.last();
xfa.sourceSet.DataConnection.first();
xfa.sourceSet.DataConnection.previous();
xfa.sourceSet.DataConnection.next();
xfa.sourceSet.DataConnection.addNew();
xfa.sourceSet.DataConnection.delete();

但xfa.sourceSet不适用于XML数据连接(至少在ES4中)。

如何使用XML数据源创建相同的功能?

以下是表单和xml的简化版本: enter image description here

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
  <book category="cooking">
    <title lang="en">Everyday Italian</title>
    <author>Giada De Laurentiis</author>
  </book>
  <book category="children">
    <title lang="en">Harry Potter</title>
    <author>J K. Rowling</author>
  </book>
  <book category="web">
    <title lang="en">XQuery Kick Start</title>
    <author>James McGovern</author>
  </book>
  <book category="web" cover="paperback">
    <title lang="en">Learning XML</title>
    <author>Erik T. Ray</author>
  </book>
</bookstore>

如果我手动将子窗体book的绑定(屏幕截图中的蓝色箭头显示)更改为$record.book[1],则生成的pdf中会显示第二条记录的详细信息。是否可以通过javascript更改绑定?

以下是指向copy of the formthe xml的链接。

1 个答案:

答案 0 :(得分:0)

表单在首次呈现时被绑定,因此通过Javascript更改绑定的值不起作用。

一些替代方案:

重复子窗体并将Javascript放在按钮上以隐藏除相关实例之外的所有实例。

将书籍数据绑定到单独的隐藏重复子表单,并使用Javascript填充隐藏子表单的相关实例中的字段。

根本不绑定子表单并使用Javascript直接访问数据模型以填充字段。