首页 文章

编辑浏览器中嵌入的 pdf 并将 pdf 直接保存到服务器

提问于
浏览
4

我有这个工作流程。

  • 将包含表单字段的 pdf 加载到浏览器中(pdf 在 iframe 或 div 中)。

  • 用户填写它

  • 用户单击“提交”按钮(在另一个 div 中)以保存 pdf。

我想在#3 中做的是收集与表单字段相关的所有数据,并将数据保存到数据库表中。我不希望用户将 pdf 保存到 his/her 本地计算机并将其上载到服务器。我想更多 user-friendly。

我将在 server-side 中使用 Java/JSP/Servlet。我查看了用于处理 pdf 文件的似乎是 popular/well-known 的 itext,但是 itext 似乎用于 generating/editing pdf,但我不确定是否有任何方法可以编辑嵌入在 pdf 中的 pdf 浏览器并保存到数据库。

是否有任何 adobe 软件提供某种功能,我可以注入某种可以捕获用户提交的脚本?我知道 PDF 不是一种 front-end 脚本语言,但我只想问。

我打算创建一个 HTML 表单,看起来像这个 PDF,当用户点击“提交”按钮时将其填充到 PDF 中,但正如我所说,我想让它更多 user-friendly。

我很感激,如果有人看过这种类型的功能或者已经完成它给了我一些资源或提示。

1 回答

  • 3

    我的假设:您有一个交互式 PDF 文档,其 AcroForm 字段类似于submit_me.pdf

    在此输入图像描述

    主要区别在于我在表单上有不同的按钮:

    • POST 将发布我填写的数据,就像 PDF 是 HTML 表单一样,

    • FDF 将以表格数据格式将数据发布到服务器,这种格式与 PDF 非常相似,但只包含数据对,而不是实际形式,

    • XFDF 将以 XML Forms Data Format(数据格式的 XML 版本)将数据发布到服务器。

    • RESET 会将所有字段重置为初始值。

    提交表格示例显示了如何将按钮添加到现有表单。请注意,有比此示例中描述的选项更多的选项。

    例如:

    • 您也可以通过调整一些参数来使用 GET,而不是使用 POST 方法,

    • 您也可以将完整的 PDF(数据表单)提交给服务器,但这仅在最终用户将 Adobe Acrobat 作为 plug-in 时才有效。如果 plug-in 仅仅是 Adobe Reader,这将不起作用,

    • ...

    为了向您展示提交表单时的期望,我编写了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:

    
    

相关问题