我有一个PDF文件(不是由我创建的 - 我无法控制设计等),它允许用户在Adobe Reader中填写一些表单字段并保存结果。我想使用以下步骤自动化填充字段的过程:
我很高兴地使用PHP,Perl和Python或Java来执行步骤2-5(按优先顺序排列),但无论我用了Linux下工作(即它必须不依赖于它们的库仅适用于Windows。)
最终的结果应是普通用户可以打开和打印,但不能修改(我敢肯定,高级用户可以找到一种方法,这样做的一个PDF,但我承认,我不能保证对修改完善的安全)。我不想改变PDF的结构,只是填充表单字段。
这样做有标准的软件吗?我见过FDF工具包中提到,但我不能完全肯定,如果这就是我想要什么,它是否能让我后来锁定文件,以及是否是我想要做的EULA结合使用。
编辑:最终的答案是使用iText的(由Mark斯托勒的建议),但实现它作为一个Web服务,它允许你在表单字段名称和值和PDF文件的“样板”的数组通过。根据AGPL,Web服务将是开源的(并且在我编写之后可以在GitHub上获得),但是连接到它的任何东西都不一定是。
答案 0 :(得分:5)
任意数量的不同库都可以填写字段值。我偏爱iText(java)或iTextSharp(c#)。几年前我用Java写过一篇。这并不难。有很多。搜索SO,你会找到他们。
有几个不同级别的“锁定字段”。
每个人都有利有弊。
举报:没有太安全了。表单数据仍然易于访问。滚动字段仍然滚动。
展平:恰恰相反。修改起来比较困难(虽然远非重要)。表单数据只能通过文本提取来提取(这很难,但变得越来越普遍)。列表&包含比可见内容更多的内容的文本字段将不再滚动。
平整表格的能力相对较少。同样,iText可以做到这一点(就像iTextSharp一样),但我不知道任何其他第三方库可以......我确信它们存在,我只是无法将它们命名为我的头脑。