资源描述
编号:V1.0
Livecycle动态模板开发手册
2015年9月
目录
1 单证模板设计 3
1.1 创建表单 3
1.2 绘制表单 5
1.2.1 控件介绍 5
1.2.2 绘制过程 11
1.3 绑定数据 14
1.4 模板测试 17
2 数据文件生成 19
3 IDPDocEngineAgent安装配置 19
1 单证模板设计
1.1 创建表单
1. 使用LiveCycle Designer工具开发模板,首先打开工具,出现如下所示的页面,点击“新建表单”
2. 选择“使用空白表单”点击“下一步”。
3. 页面大小可以选择“默认值”,也可以选择“A4纸”,或者其他的一些页面
方向可以选择“纵向”,或者是“横向”,一般都是选择“纵向”。
页面选择“1”。
点击“下一步”
4. “添加电子表单按钮”与“添加打印按钮”可以勾选,也可以不勾选,一般不勾选
点击完成
5. 出现如下所示的空白表单—表单1(由“主页面”以及“无标题子表单”构成的)
1.2 绘制表单
1.2.1 控件介绍
1.2.1.1 页面控件
如上图所示,一个表单中主要包含两类页面元素:
1. 主页面
主页面的名称通常以英文命名,支持定义多个主页面
1) 页面设置
当需要使用特殊纸型时,需要在主页面内进行定义。如下图所示:
2) 内容区域设置
每个主页面中只能存在一个内容区域(region-body区域),每个主页面中元素可以按照下图分5个区域放置,除内容区外其他支持的4区域每个都对应一个子表单subform,其名称分别为:region-before,region-after,region-start和region-end,并且只能设计为静态(引用)元素。主页面其他4个区域不能与内容区域重合。
内容区域限定了以该内容区域为基础的普通页面的可绘制范围,通常我们可以理解为页边距。在一般场景下,如果没有页头、页尾、侧边文字等需要打印在每一页上的内容,仅绘制内容区域范围即可。
内容区域的大小可以通过内容区域的布局属性来进行设置,如下图所示:
2. 普通页面
除每页都需要打印的一些基础内容外,所有在单证中需要显示的表单元素均需要绘制在普通页面上。通过点击页面并对其对象属性进行设置可进行以下页面的个性化设置:
1) 应用主页面
在对象->分页属性页面中可以指定该普通页面应用的主页面名称,默认为接上一子表单,如果该页面是第一个页面则默认设置的主页面是第一个主页面。可通过点击位置旁的索引按钮选择其他主页面,如下图所示:
2) 页面基础属性设置
一个普通页面也可以认为是一个子表单,因此在对象->子表单属性页内可以对页面的布局方式、是否允许分页等属性进行设置。
n 内容:设置该页面内的布局方式:
流动 - 该页面内的所有控件从上到下按顺序排列,循环的父页面必须为流动的。
固定 - 该页面内的所有元素均按照绘制时的位置展示。
n 流向:顺序排列的方向,目前只支持从上至下排列。
n 是否允许在内容中分页:如该页面内的内容有可能自动增长并发生换页,需要勾选该复选框,否则会导致换页失败不能正常显示。
1.2.1.2 基础控件
以下所有的基础控件均可以通过在工作区域右侧的对象库中找到对应的控件,并通过左键点击拖拽的方式将其加入到当前工作面板内。
1. 子页面
通常所有控件都需要绘制在子页面内(顶层的子页面是普通页),子页面中也可以再包含多个子页面。如下图所示红色圈出的均为子页面:
子页面为重复打印的最小单位,具体设置参见2.3数据绑定部分。
2. 表格
对于需要循环打印的表格类的内容,通常使用表格控件来绘制。可在对象库中找到表格控件,拖拽至工作区域后自动弹出下图的设置界面:
n 列数:根据实际需要打印的列数进行设置
n 表体行数:如为动态表格设置一行,如静态表格则根据实际需要的行数进行设定
n 表头行:通常勾选
n 表尾行:根据实际需要决定是否勾选
自动创建完成的表格如下图所示:
此时表头和表体均为静态文本,如需要展示动态域,可以点击对象库中的文本域控件,将其拖拽至表体的控件中,表体则会自动变更为控件域并自动调整控件大小。如下图所示:
需要注意的是:
表头和表体的名称需要设置为英文名称。
3. 其他控件
目前可支持的包括:
n 静态文本
n 文本域
n 图像
n 直线
通过从对象库中将其拖拽至工作区域中并调整大小完成绘制工作,点击控件可在右侧对象页签进行属性设置,或在布局页签对字体、位置等进行设置。
1.2.2 绘制过程
1. 按照需求开始制作表单
1) 制作表单的时候,首先需要分析一下制作表单的页面需要分为几部分,则需要添加几个子表单,表单制作页面都是由一个个的子表单组成的。
2) 如上图所示,整个页面分为11部分,Header,BOTTOM以及中间的一些表单
3) 在表单里面可以加入文本,文本域,点击菜单栏中的“窗口”,选择对象库,可以添加需要在子表单中要绘制的对象
4) 遇到动态循环的时候,如图所示的R2为一个动态循环,以表格的形式绘制;
将表体部分绑定到循环字段(详见2.3绑定数据)
5) 保存表单,点击菜单栏中的文件—另存为—
另存的时候保存类型选择Adobe XML表单(*.xdp),要以这种格式在系统中发布
1.3 绑定数据
为了能够在模板中对应的位置显示所需要的数据内容,需要按照下述步骤将XML数据和控件进行绑定:
1. 在数据视图页签内点击右键,选择创建数据视图
2. 出现如下所示的页面,选择“示例XML数据”,点击“下一步”,
3. 选择要绑定数据的xml数据—下一步即完成了XML数据结构到模板的数据连接创建。
4. 在数据视图中可看到导入的XML结构,但是此时还没有将具体的XML节点和表单控件对应上。
5. 在数据视图界面中,可以通过下述两种方式将XML数据字段和表单控件进行对应。
例如:姓名的文本域要与V17绑定,
A: 可以把V17通过鼠标左键直接拖到文本域里
B: 也可以在右侧栏中,对象—绑定—默认绑定的后面框中选择需要绑定的域
6. 对于需要循环的子表单,可通过下述步骤进行绑定:
a) 在层次界面选择要循环的子表单
b) 在其对象->绑定->默认绑定位置选择需要绑定的XML字段。需要注意的是该XML字段在导入的XML结构中必须至少重复一次。
c) 勾选为每个数据项木重复行
如下图所示:
1.4 模板测试
1. 数据绑定完成后,把制作的表单另存为Adobe 动态 XML表单(*.pdf)
2. 使用Adobe Acrobat 9 Pro 工具打开生成的pdf,
3. 选择上面的表单,管理表单数据—导入数据,选择绑定的xml
4. 可按照需求的要求正常展示动态模板的样式即可。
2 数据文件生成
一般由输出数据系统生成。
如果手工测试,可按照接口文件编写。
3 IDPDocEngineAgent安装配置
1 停止IDG;
#cd /root/IDG
#./ stopIDG.sh
2 将提供的介质中的IDPDocEngineAgent-0.0.1-SNAPSHOT.jar文件拷贝到安装IDG时对应的agent_java目录;
#cp IDPDocEngineAgent-0.0.1-SNAPSHOT.jar $IDGHOME/agent_java/
3 将提供的介质中的/lib文件夹中的全部目录放置到安装IDG时对应的customjavalib目录,同名的文件选择覆盖;
4 将提供的介质中的/DocEngine文件夹放置到安装IDG时对应的agent_config目录;
5 修改安装IDG时对应的agent_config/DocEngine/fop-config.xml文件,将其中的
<font metrics-url="file:////home/indigo/IDG/DocEngine/simkai.xml" kerning="yes" embed-url="file:////home/indigo/IDG/DocEngine/font/simkai.ttf">
中的以file:////开头的文件路径修改为安装IDG目录中的实际的文件路径
6 在IDG的configure.xml文件中配置如下内容(其中红色的字体需要根据实际的目录和文件修改):
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<root>
<modules>
<module name="watchfolder本标签不修改,含义是定义扫描的数据目录
">
<directory name="dir1">
<path>/home/indigo/data</path扫描数据的路径,数据文件放在这里
>
<filetype>*</filetype支持的被扫描的数据文件的类型
>
<checkjob>no</checkjob取默认值,不需要修改
>
<defaultjob>test默认缺省的任务的名称
</defaultjob>
</directory>
</module>
</modules>
<jobs>
<job name="test任务名称
">
<tasks>
<task name="customagent">
<execname>IDGDocEngineAgent</execnameTask任务的执行程序名称
>
<parameter name="outFile">/home/indigo/test/IDPDocEngine/(source.name)out.pdf</parameter电子保单输出文件名称
>
<parameter name="logFile">/home/indigo/test/IDPDocEngine/log日志文件及目录名称
.log</parameter>
<parameter name="templateFile">/home/indigo/test/IDPDocEngine/(source.name).xdp.fo引擎模板文件命名称
</parameter>
<parameter name="outType">application/pdf</parameter输出电子保单文件类型
>
<parameter name="templateType">FOForm</parameter引擎模板文件类型
>
<parameter name="configFile">/home/indigo/IDG/agent_config/DocEngine/fop引擎字体支持的配置文件
-config.xml</parameter>
<parameter name="deleteInFile">false处理结束后是否删除输入的数据文件
</parameter>
<parameter name="onlyInput">true配置为True后仅仅从命令行读取模板参数信息
</parameter>
<parameter name="retry">0失败重试次数
</parameter>
<command>JAVAAGENT (execname) -inFile (source) -outFile (outFile) -templateFile (templateFile) -logFile (innerLogFile) -outType (outType) -templateType (templateType) -configFile (configFile) -retry (retry)</command>
</task>
</tasks>
</job>
</jobs>
</root>
7 将模板文件放在templateFile参数指定的路径;
8 启动IDG;
9 在IDG的扫描目录中放入输入的xml数据文件;
10系统自动扫描数据文件,生成保单文件。
展开阅读全文