如何创建基于 Web 的 PDF 提交表单?

Posted

技术标签:

【中文标题】如何创建基于 Web 的 PDF 提交表单?【英文标题】:How to Create a Web-Based PDF Submission Form? 【发布时间】:2017-04-10 17:37:15 【问题描述】:

我有一个带有几个错误框的 PDF 表单。

目前,填写 PDF 表格的人员必须打印、填写、扫描,然后通过电子邮件/传真回复给我。

我希望有一个解决方案,人们可​​以通过网络浏览器填写和提交表单。通过我的研究,我发现主要是第三方解决方案。但是,出于安全原因,我希望将解决方案包含在我的站点/服务器中。

非常感谢所有想法和想法。

【问题讨论】:

【参考方案1】:

新版本的 Adob​​e Readers 允许用户直接填写 pdf。如果您可以制作这种类型的表格,他们只需以电子方式填写并上传到您的服务器。

【讨论】:

【参考方案2】:

在过去一周对 PDF 生成进行研究时,我发现了 3 种可能的解决方案,每种解决方案各有利弊。

1) JSPDF 客户端 PDF 生成器,可轻松集成到任何应用程序中。

优点:

可用于生成报告,单击按钮不会在控制台窗口上回复。 在多个浏览器上进行了测试,在 Chrome、Firefox 和 IE 上呈现相同的结果。

缺点:

中等分辨率。 JSPDF 的工作原理是它使用一个名为 rasterize.js 的库,该库获取 html 内容并基本上对其进行光栅化,从而使质量受到一点影响,但你几乎不知道我认为的区别。 (关于这个主题的支持很少。我一直在研究它几个小时,只有我能找到提高质量的解决方案是调整大小,并引入提高质量的抗锯齿功能。 ) 由于是光栅化的,下载后无法用于编辑 PDF。这是一个平面 PDF,这意味着 PDF 中的文本或任何内容都无法编辑。但是,如果您希望用户能够填写表单,然后单击按钮到提交 PDF 的位置,JSPDF 可以做到这一点。

2) PhantomJS 是 PDF 生成的另一种选择。

优点:

质量很好,支持多个浏览器生成相同的 PDF。 PDF 在创建后即可编辑。

缺点:

对如何使用它启用第三方 API 渲染(例如 Google 地图)的支持不足。如果您不熟悉 Google 地图 API,可能但很难解决。 主要支持从控制台窗口生成PDF。此外,PDF 是即时生成的。这意味着当控制台执行时,会创建一个 PDF 文件并将其发送到安装程序中指定的文件目录。未在浏览器中下载。

3) Wkhtmltopdf 是 PDF 生成的另一种选择,与 PhantomJS 基本上具有相同的优缺点。

优点:

质量很好,支持多个浏览器生成相同的 PDF。 PDF 在创建后即可编辑。

缺点:

依靠控制台窗口生成 PDF。 对实施客户端脚本以创建 PDF 的支持不足。他们在服务器端有文档。)

【讨论】:

以上是关于如何创建基于 Web 的 PDF 提交表单?的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 HTTP 提交 PDF 表单数据?

提交表单后如何自动创建客户表

如何在Django中只在ModelForms表中正确提交一个表单?

如何创建表,在用户提交表单时填写行

PDF 表单提交 - 请求有效负载 PHP 解析器

iText:如何在提交 Pdf 表单后重定向到 url,当它显示在 iframe 中时?