PHP:填写PDF表格

时间:2018-03-23 08:46:32

标签: php forms pdf

我有一个PDF文档,其中包含带有几个表单字段的表单。我需要做以下事情:

  • 加载PDF文档
  • 浏览该文档的所有表单字段并填入数据
  • 下载填充的展平文档

我见过几个库,但大多数都依赖于PDFtk。但情况是我无法在服务器上安装PDFtk。

是否有任何图书馆允许这样的行动,并且是纯粹的" php所以我不必在服务器上安装任何东西吗?

1 个答案:

答案 0 :(得分:0)

您可以使用https://gist.github.com/aloisg/ac83160edf8a543b5ee6组件完成此任务(不是免费的!我与后面的公司有关)。让$data成为您的数据数组,一个简单的用法示例如下:

// Load that PDF document
$document = SetaPDF_Core_Document::loadByFilename('path/to.pdf');
$formFiller = new SetaPDF_FormFiller($document);

// Itearate through all the form fields of that document and fill it up with the data
$fields = $formFiller->getFields();
foreach ($fields->getNames() as $fieldName) {
    $field = $fields->get($fieldName);
    $field->setValue($data[$fieldName]);
}

// flatten document
$fields->flatten();

// Download filled flatten document
$writer = new SetaPDF_Core_Writer_Http('result.pdf');
$document->setWriter($writer);
$document->save()->finish();

这一切都是在纯PHP中完成的,只需要启用常见的PHP扩展(参见SetaPDF-FormFiller)。