我有这个工作流程。
我想在#3中做的是收集与表单字段关联的所有数据,并将数据保存到数据库表中。我不希望用户将pdf保存到他/她的本地计算机并将其上传到服务器。我想让它更加用户友好。
我将在服务器端使用Java / JSP / Servlet。我查看了似乎在处理pdf文件时流行/众所周知的itext,但是itext似乎用于生成/编辑pdf,但我不确定是否有任何方法可以使某个功能能够编辑嵌入浏览器的pdf并保存到数据库中。
是否有任何adobe软件提供某种功能,我可以注入某种可以捕获用户提交的脚本?我知道PDF不是一种前端脚本语言,但我只想问。
我打算创建一个类似于PDF的HTML表单,并在用户点击“提交”时将其填充到PDF中。按钮,但正如我所说,我想让它更加用户友好。
如果有人看过这种类型的功能或者已经完成它会给我一些资源或提示,我感激不尽。
答案 0 :(得分:3)
我的假设:您有一个交互式PDF文档,其AcroForm字段类似于submit_me.pdf:
主要区别在于我在表单上有不同的按钮:
SubmitForm示例显示了如何将按钮添加到现有表单中。请注意,有比此示例中描述的选项更多的选项。
例如:
为了向您展示提交表单时的预期,我编写了ShowData servlet。该servlet返回发送到服务器的字节。
如果是POST:
personal.loginname=jdoe&personal.name=John+Doe&personal.password=test&personal.reason=reason&post.x=29&post.y=7
请注意,我还定义了按钮,使我的点击坐标传递给服务器。你可能不需要这个。
如果是FDF:
%FDF-1.2
%âãÏÓ
1 0 obj
<</FDF<</Fields[<</T(FDF)>><</Kids[<</T(loginname)/V(jdoe)>><</T(name)/V(John Doe)>><</T(password)/V(test)>><</T(reason)/V(Reason)>>]/T(personal)>>]/ID[<EF0089E16ED50F11CB6057A700B9046E><1205D069D1D6AE37665B6FF7EEA65414>]>>/Type/Catalog>>
endobj
trailer
<</Root 1 0 R>>
%%EOF
如果是XFDF:
<?xml version="1.0" encoding="UTF-8"?>
<xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve"
><f href="http://itextpdf.com:8180/book/submit_me.pdf"
/><fields
><field name="XFDF"
/><field name="personal"
><field name="loginname"
><value
>jdoe</value
></field
><field name="name"
><value
>John Doe</value
></field
><field name="password"
><value
>test</value
></field
><field name="reason"
><value
>Reason</value
></field
></field
></fields
><ids original="EF0089E16ED50F11CB6057A700B9046E" modified="1205D069D1D6AE37665B6FF7EEA65414"
/></xfdf
>
在理想的世界中,这将是您的解决方案。它在ISO-32000-1中描述,它是PDF的世界标准。但是:很多人开始使用不支持此功能的糟糕的PDF查看器,所以如果你想使用这个解决方案,你必须确保人们使用一个体面的PDF查看器作为他们的浏览器插件。