Php 使用Breezing表单数据填充PDF表单

Php 使用Breezing表单数据填充PDF表单,php,pdf,joomla,fpdf,breezingforms,Php,Pdf,Joomla,Fpdf,Breezingforms,我已经在Joomla网站上成功创建了3个Breezing表单,我想知道使用保存到数据库中的表单数据填充PDF表单的最佳方法,然后在用户完成表单后通过电子邮件发送到特定地址。我知道使用Breezing表单可以将表单数据导出为PDF格式,但是对于这种导出格式,“我的表单”的布局过于复杂。我需要的是表单数据来填充格式化的PDF表单 以下是其中一个表格及其应填写的PDF的示例: 表格: PDF:填写PDF表单基本上有两种方法:客户端和服务器端 对于客户端填充,您将创建一个FDF文件,其中/F键指向基本P

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

以下是其中一个表格及其应填写的PDF的示例: 表格:
PDF:

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

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


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

如果您想使用PHP解决此问题,可以查看(不是免费的!)。使用它,您可以通过一个非常简单的界面填充字段:

// 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();