【发布时间】:2018-12-04 16:13:51
【问题描述】:
我在 SAP 中生成了 PDF 表单。该表单中大约有 30 个字段。有些已经满了。而其他人将由员工填写。这是该表单的示例。
现在我将创建一个 php 应用程序,它可以接受来自用户的数据并填写上面的表格并生成该 PDF 文件。我阅读了 PDFtk Server Utility 填写 PDF 表单的教程。所以我在我的 Windows 7 中下载并安装了这个工具。在创建我的 PHP 应用程序之前,我认为我必须尝试在我的 PC 上手动填写表格。所以首先我使用以下命令转储数据字段并尝试填充一个变量。
pdftk sample.pdf dump_data_fields > fields_names.txt
输出:
.
.
FieldType: Text
FieldName: data[0].#pageSet[0].TimeSheet[0].CURRENTWEEK[0]
FieldNameAlt: Week
FieldFlags: 0
FieldValueDefault: 26
FieldJustification: Left
FieldMaxLength: 2
---
FieldType: Text
FieldName: data[0].#pageSet[0].TimeSheet[0].CURRENTYEAR[0]
FieldNameAlt: Year
FieldFlags: 0
FieldValueDefault: 2018
FieldJustification: Left
FieldMaxLength: 4
.
.
然后我创建 FDF 文件来填充 CURRENTWEEK 变量..
%FDF-1.2
%âãÏÓ
1 0 obj
<<
/FDF
<<
/Fields [
<</T(data[0].#pageSet[0].TimeSheet[0].CURRENTWEEK[0])/V(80)>>
]
>>
>>
endobj
trailer
<<
/Root 1 0 R
>>
%%EOF
我运行这个命令来生成填充表格
pdftk sample.pdf fill_form data.fdf output output.pdf
PDF 表单未填写。仍然显示原始 PDF 表单。 当我再次转储新创建的表单字段时,它会显示..
---
FieldType: Text
FieldName: data[0].#pageSet[0].TimeSheet[0].CURRENTWEEK[0]
FieldNameAlt: Week
FieldFlags: 0
FieldValue: 80
FieldValueDefault: 26
FieldJustification: Left
FieldMaxLength: 2
---
FieldValue:80 已添加,但表单中没有数据。在字段中显示相同的 26 值。
创建FDF或者运行命令有没有错误?
【问题讨论】: