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