代码之家  ›  专栏  ›  技术社区  ›  CFML_Developer

向动态上传的PDF文档添加提交按钮

  •  1
  • CFML_Developer  · 技术社区  · 11 年前

    经销商将PDF文档上传到网站。这些文件没有任何标准。我们希望向用户展示可编辑的PDF表单,用户填写/编辑这些表单中的数据后,这些表单可以保存在系统中。我能够阅读pdf,填充任何可以预先填充的字段,并将可编辑的pdf呈现给浏览器。问题是pdf没有任何提交按钮,据我所知,这只能通过在acrobat中打开pdf来添加。 我试过了

    1. 在iframe中呈现pdf,并在不同的框架中呈现提交按钮(这很愚蠢)
    2. 将读取的pdf转换为文本,并将所有表单字段作为HTML字段呈现给用户,但除了输入类型文本之外,其他内容都被卡住了(无法识别是否为复选框、单选框等)
    1 回复  |  直到 11 年前
        1
  •  1
  •   Adrian J. Moreno    11 年前

    您必须创建包含提交按钮的PDF模板。您需要使用Adobe Acrobat的完整副本而不是阅读器创建PDF。你不能用阅读器编辑。您还必须学习如何在Acrobat中编写JavaScript,以便在需要时在PDF中进行验证和小交互。

    您不需要保存已填充的PDF的副本,而是要保存通过PDF表单提交的数据。然后,您可以填充文件进行打印,如果这是他们想要的,但提交按钮将是已打印的PDF的一部分。

    当您需要使用PDF表单时,只需在浏览器中链接到它。提交PDF表单时,处理CFM将重定向到工作流中的下一页。为了安全起见,我们将跨站点请求伪造令牌作为PDF表单数据的一部分。如果我们没有将令牌作为FORM范围数据的一部分,那么我们就不会处理它。

    我们混合了HTML和PDF格式。通常,我们的客户会向我们提供他们想要转换为web的现有文档。在某些情况下,我们创建HTML表单,在其他情况下,他们更希望我们保留文档的格式,因此我们使用PDF。您不能动态地将PDF转换为HTML表单,您需要有人手动进行转换,以确保在整个表单中使用(和填充)正确的表单控件。