使用Breezing Forms表单数据填写PDF表单

时间:2015-02-01 03:34:33

标签: php pdf joomla fpdf breezingforms

我已经在Joomla网站上成功创建了3个Breezing Forms表单,并且想知道使用保存到数据库的表单数据填写PDF表单的最佳方式,然后通过电子邮件发送到特定地址作为最后一步表单由用户完成。我知道使用Breezing 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

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

如果你想通过使用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();