我正在基于模板批量生成 pdf 文件,但很快就遇到了很大的性能问题。我目前的情况如下:
- 从 db 获取要填充的数据
- 基于单个数据行和pdf表单创建fdf
- 将
.fdf
文件写入磁盘 - 使用 pdftk (fill_form with flatten 命令) 将 pdf 与 fdf 合并
- 继续迭代行,直到
.pdf
生成所有的 - 最后将所有生成的文件合并在一起,并将单个pdf提供给客户端
我使用passthru
将原始输出提供给客户端(节省写入文件的时间),但这只是一点性能改进。200 条记录的总操作时间约为 50 秒,我想以某种方式缩短到至少 10 秒。
理想的情况是在内存中操作所有这些 pdf,而不是将它们中的每一个都写入单独的文件,但是由于我无法将这种数据传递给像 pdftk 这样的外部工具,所以输出将是不可能的。另一个想法是生成一个.fdf
包含所有这些行的大文件,但看起来这是不允许的。
我在这里错过了一些非常微不足道的东西吗?
我很感谢您的任何建议。
PS。我知道我可以使用一些好的库,比如 pdflib,但我现在只考虑开放许可库。
编辑:
我正在弄清楚.fdf
使用相同的pdf作为模板构建具有多个页面的文件的语法,花了几个小时但找不到任何好的文档。