今天给大家介绍一下Static PDF与Dynamic PDF的区别。之所以直接写Static PDF和Dynamic PDF而没有用其中文译名,是因为这个译名太过容易混淆,如果翻译成静态PDF,那么相信很多人就会把它与Print PDF联系在一起,而动态PDF呢,很多人又会联想到Interactive PDF;为了避免由于中文翻译造成的误会,所以这里我相信还是用Static PDF和Dynamic PDF比较好。

基于XFA架构的可交互式PDF表单主要分为两类,Static PDF和Dynamic PDF。要解释Static PDF和Dynamic PDF,首先我要给大家介绍一下render的概念,根据template文件的设计,创建层,格式以及导入数据从而生成交互式PDF表单的这一过程被称为render,PDF表单必须要经历render这一过程才能够呈现给终端用户。

Static PDF的形成过程中,render只发生一次;当static PDF生成以后,它的各个元素包括层,格式等都不会再有任何变化了,也正因为此,当在用户终端用Adobe Acrobat或者Reader打开它的时候,是不会再发生二次render的。

Dynamic PDF的形成过程中,render可以发生很多次,而且这些render都是发生在用户终端的;也就是说,每次用户对表单的元素如颜色,位置,数据导入等进行调整,再用Acrobat或者Reader打开它的时候,都会触发用户终端的render行为。

文件大小方面,在内容相同的情况下,Static PDF文件的体积要大于Dynamic PDF。

另外一个不得不提的就是用户终端的显示速度,Static PDF的显示速度要远远快于Dynamic PDF。这是由于Static PDF的全部处理包括创建层,定义格式,数据导入等都是在表单的形成过程中完成的,用户终端不会对它进行任何处理;Dynamic PDF就不一样了,它在表单的形成过程中,只完成了数据导入这一过程,至于创建层,定义格式等都是在用户终端用Reader再次对它进行render处理完成的。

关于什么情况使用Static PDF表单,什么情况使用Dynamic PDF表单,我的建议如下:
1. 当有大量的表单需要处理而服务器硬件又不是很牛的时候,建议使用Dynamic PDF表单。因为服务器端处理Dynamic PDF表单的时候,只会进行数据导入,这样可以大大降低服务器的负载。
2. 如果PDF表单依赖脚本文件来改变层结构,像添加/删除表的行,增加文件编辑框的长度等,一定要使用Dynamic PDF表单。
3. 如果终端用户需要给PDF表单添加注释或者评论的时候,一定要使用Static PDF表单。
下面的图就是一个例子,为Static PDF表单添加注释,在Dynamic PDF表单上无法完成此功能。

 

4. 如果您的电脑上安装的Acrobat版本比7.0还要旧的话,那么也建议您使用Static PDF表单。

好了,关于Static PDF与Dynamic PDF话题就到此结束了,下次我会给大家详细介绍一下如何用LiveCycle Designer 来创建这两种基于XFA架构的PDF表单,敬请期待~