【问题标题】:Using Breezing Forms form data to fill a PDF form使用 Breezeing Forms 表单数据填写 PDF 表单
【发布时间】:2015-02-01 03:34:32
【问题描述】:

我在 Joomla 网站上成功创建了 3 个 Breezing Forms 表单,我想知道使用保存到数据库的表单数据填写 PDF 表单的最佳方式,然后在最后一步通过电子邮件发送到特定地址表格由用户填写。我知道使用 Breezeing Forms 您可以将表单数据导出为 PDF,但我的表单在布局上对于这种类型的导出格式来说太复杂了。我需要的是填充格式化 PDF 表单的表单数据。

以下是其中一种表格及其应填写的 PDF 的示例: 表格:http://www.nutriworkscnc.com/Development/index.php?option=com_breezingforms&view=form&Itemid=640 PDF:http://www.nutriworkscnc.com/Development/images/forms/history.pdf

【问题讨论】:

    标签: php pdf joomla fpdf breezingforms


    【解决方案1】:

    您基本上有两种填写 PDF 表单的方法:客户端和服务器端。

    对于客户端填充,您将创建一个 FDF 文件,其中 /F 键指向基本 PDF(有些人会称之为模板文件)。然后您将 FDF 发送给用户,精明的 PDF 查看器将加载基础 PDF 并填充它。

    如果您必须为笨拙的 PDF 查看器提供服务,则必须依靠服务器端填充。为此,有一些应用程序,例如 Appligent 的 FDFMerge,或库,例如 iText。然后,您必须以适当的方式为您的服务器端填充工具准备数据。

    【讨论】:

      【解决方案2】:

      如果你想用 PHP 解决这个问题,你可以看看SetaPDF-FormFiller component(不是免费的!)。有了它,您可以通过一个非常简单的界面填写字段:

      // Create an http writer
      $writer = new SetaPDF_Core_Writer_Http("filled.pdf");
      // Load document by filename
      $document = SetaPDF_Core_Document::loadByFilename("history.pdf", $writer);
      
      // Initiate a form filler instance
      $formFiller = new SetaPDF_FormFiller($document);
      // Get the fields instance
      $fields = $formFiller->getFields();
      
      // fill in the fields
      $fields["Client Name"]->setValue("Test Person");
      $fields["Address street"]->setValue("Teststreet 1");
      $fields["Address city zip"]->setValue(12345);
      $fields["diabetes"]->setValue(true);
      $fields["diar"]->setValue(true);
      
      // done
      $document->save()->finish();
      

      【讨论】:

        猜你喜欢
        • 2011-10-15
        • 2013-01-08
        • 2023-04-02
        • 1970-01-01
        • 2020-12-11
        • 2013-02-19
        • 2020-11-05
        • 2021-12-14
        • 2021-10-26
        相关资源
        最近更新 更多