PHP相当于Coldfusion的cfpdfform

时间:2015-03-15 14:32:36

标签: javascript php json pdf coldfusion

我有使用政府表格的法律申请。这些表格填写PDF(FDF数据)。

我们有JSON格式的数据集存储在数据库中。我希望能够将该数据插入到填充pdf中。 Coldfusion的cfpdfform似乎做得很好。然而,Coldfusion在我看来有一些非常好的JSON格式。

所以,我的要求很简单,用PHP或javascript中的数据填充pdf填写表单的最佳方法是什么?

在替代方案中,我们的json数据包含许多对象和数组。有没有任何非繁琐的方法可以让Coldfusion理解它的格式,而不需要在数据文件中使用大量cfloop来将其转换为结构体?

非常感谢。

2 个答案:

答案 0 :(得分:1)

我去年有类似的项目规格。我们有一个50页的遗留可填写pdf表单,我们希望将其更新并集成到面板审查工作流程中。我遇到了无数的障碍,主要是由于最终用户环境。

我的终极解决方案略微开箱即用,但您可能会考虑类似的事情: 我将实际的交互式表单构建为传统的HTML5 \ jQuery \ CSS3视图,其中包含用于将表单数据加载和保存到SQL的表单和方法。业务逻辑使用TCPDF(我认为这是我使用的lib - 可能是FPDF之类的东西)和一个替代样式表,它将表单数据重新呈现为经典的可打印PDF。

我不能承诺这是适合您情况的最佳解决方案,但它为我们钉了它。

答案 1 :(得分:1)

您可以查看我们的SetaPDF-FormFiller组件(不是免费的!)。它允许您以纯PHP填写PDF表单。

您只需要一种从json对象到PDF表单字段名称的映射逻辑。提交过程很简单:

$writer = new SetaPDF_Core_Writer_Http('pdf-form-filled.pdf');
$document = SetaPDF_Core_Document::loadByFilename('pdf-form.pdf', $writer);
$formFiller = new SetaPDF_FormFiller($document);
$fields = $formFiller->getFields();
$fields['name']->setValue($jsonData->name);
$fields['gender']->setValue($jsonData->gender);
...
$document->save()->finish();