有没有人有在pdf中使用XFDF的经验?使用这种方法有什么缺陷吗?
Step1 -我需要创建一个pdf (adobe pro)与只读字段,绑定到XML中的元素。这将充当覆盖数据的模板。
Step2 -创建自定义类,从数据库中的数据生成XFDF XML字符串。
Step3 -当用户请求pdf时,我们只需从DB中检索数据,构造XFDF字符串并将字符串刷新到浏览器即可。
这种架构决策的主要好处是不需要将pdf存储在数据库或硬盘驱动器上。此外,我还见过许多pdf生成实现,它们使用的是有buggy的本地批处理过程,并且只会在应用程序中创建另一个“移动部分”。
发布于 2012-06-27 08:05:39
我一直在我的项目中使用XFDF,该技术被证明是可靠和可持续的。首先,因为它是XML,所以我可以压缩XML并以较低的占用空间持久地存储它们。正如Mark Storer在上面所解释的,XFDF有一些限制,它不能支持脚本。如果需要一个执行XFDF/FDF字段合并的库,可以尝试一下[nguyen][https://github.com/joneslee85/nguyen] gem。
发布于 2011-02-02 07:57:16
是的,我写了一些XFDF。你的方法听起来不错。
您可能希望考虑FDF而不是XFDF。FDF可以做XFDF做不到的事情...您可以添加脚本(在“在”F之前“和”在“之后”入口点中),并更改字段外观。IIRC也有其他一些花哨的东西,但这些都是我使用的。
我们构建的PDF表单有很多脚本,并且相当多的初始化是在"After“中进行的(在”之前“中有几个)。我们的一个不太标准的字段类型也需要能够改变字段的外观。
这种方法的潜在问题是签名字段。您必须保存PDF以保留签名的有效性。但是,您可以使用此功能...只需保存这些PDF,当有人请求特定实例时,您可以将XFDF指向已签名的表单,而不是未签名的模板。
FDF并不比XML更难编写。它使用PDF的语法,但不需要外部参照表,并且具有不同的根对象/布局。
%FDF-1.2
1 0 obj
<</FDF
<</Fields [
<</T(name1)/V(value1)>>
<< /T (name2) /V (value2) >>
<</T(list1) /Opt [ [(display1)(value1)] [(display2)(value2)] ] /v(value2) >>
...
]
/F (pathOrURLtoForm.pdf)
/JavaScript <<
/Before (var foo = "blah";)
/After(someFunc/(/);)
>>
>>
>>
endobj
trailer
<</Root 1 0 R>>
%%EOF在不同的地方有一些转义要做,但通常它很简单。iText有一个FDFWriter类,它将为您完成大部分工作,尽管我不相信它支持所有的花哨功能。
https://stackoverflow.com/questions/1971434
复制相似问题