今天来给大家讲一下Adobe交互式PDF表单的优化问题。对于表单优化问题,主要指的是在表单的生成过程,通过什么办法可以让表单在不影响功能和使用的前提下生成的更快,另外就是指客户在客户端使用表单的时候可以更快的打开和交互。这里面最重要的一条其实也是最容易理解的一条就是,不需要的控件一定不要放入表单之中,同时让表单的尺寸尽可能的小,越小的表单生成的越快。

 

关于表单中使用什么样的字体也很有讲究,我们都知道Adobe DesignerAdobe Acrobat/Reader并不是一个产品,因此在Designer中存在的字体并不是在Acrobat/Reader都存在,如果用户在设计表单的时候使用了Designer中独有的字体,那么当表单在Acrobat/Reader中打开的时候,就会出现这样的问题,Acrobat/Reader用自己包含的字体替换掉表单中的字体,这一变化有可能影响表单的层次结构,使表单与设计之初看起来不太一样。为了避免这种情况发生,我们可以手动把Acrobat/Reader中没有的字体手动补充上,但这还是有些麻烦,最好在没有特殊要求的情况下,我们设计表单之初,就直接选择那些DesignerReader都共有的字体。下面这十多种字体就是比较好的选择:

当在表单中插入图片的时候,尽量选择一些压缩的图片格式,像JPEG, GIF等,而且在导入之前最好提前把图片大小调整好。 另外在Designer中导入图片的时候,默认采用的是链接方式(link),通过勾选选项’Embed Image Data’把图片直接保存在表单当中可以提高表单性能。如下图所示:

有些时候,我们不得不制作一些accessibility表单(给一些残障人士使用的表单),这个时候需要生成标签(tag)供第三方工具抓取并且通过朗读的方式把表单内容反馈给用户。这一生产标签的过程会降低表单的性能,因此如果我们做出表单不是给这些人用,就没有必要生成tag。在Designer中,tag是默认生成的,因此我们要记得在File -> Form Properties中取消它,如下图:

除了上面说的这些,还有一些注意事项:

1.     在母版页(Master Page)上面放置控件虽然可以简化表单设计过程,但是控件过多的话会影响表单的性能,如果可能的话,还是尽量把控件放置在表单的设计页上。

2.     在数据文件相同的情况下,交互式表单要比非交互式表单体积大,所以不需要交互式表单的时候就尽量不要用。

 

3.   通常交互式表单都会有输入数据校验功能,如果生成的是非交互式表单,为了提高性能,我们应该把数据校验功能关掉。如下图,在Data View Options中取消相关选项。

 

4.     使用Submit按钮提交表单数据的时候,由于提交PDF有更高的性能要求和更大的带宽需求,所以尽量提交XML数据。

 

5.     check boxes, list boxes, and radio buttons三种控件中,radio buttons的生成过程最麻烦,所以如果可能的话,尽量使用其他两种控件代替它。

 

6.     Designer支持两种语言,FormCalcJavaScript,如果只是做简单的计算或者数据校验的话,那么FormCalc更合适。用户可以在脚本编辑器中选择需要的语言。

 

7.     尽量使用简单的控件。举个例子,同样是设计一个长方形图案,你可以直接拖拽一个长方形控件,也可以拖拽4条线段组成长方形控件,请看下图:

 

 

第一张图是长方形控件,第二张图是四条线段控件组成的长方形,显而易见,第二张图的表结构要比第一张图复杂。

 

关于PDF表单在设计过程中的优化就先讲到这里,谢谢~