python自动填表格_如何在Django / Python中自动填充PDF表单?

小编典典

如果你要生成非常动态的PDF,并且需要以编程方式控制所有PDF(数据和布局),则Reportlab非常有用。

仅在现有的PDF中填写表格,reportlab是过大的,基本上,你将不得不在reportlab中从头开始重建PDF,而不仅仅是用已经制成的表格来获取PDF。

PDF表单可处理FDF数据。不久前,我将PHP FDF库移植到Python并将其发布为fdfgen。我用它来生成带有表单数据的fdf文件,然后使用pdftk将fdf推入PDF表单并生成输出。

整个过程如下:

你(或设计者)使用Acrobat或其他工具设计PDF并标记表单字段并记下字段名称(我不确定具体如何完成;我们的设计师执行此步骤)。假设你的表单具有字段“名称”和“电话”。

使用fdfgen创建FDF文件:

from fdfgen import forge_fdf

fields = [('name','John Smith'),('telephone','555-1234')]

fdf = forge_fdf("",fields,[],[],[])

fdf_file = open("data.fdf","w")

fdf_file.write(fdf)

fdf_file.close()

然后运行pdftk进行合并和展平:

pdftk form.pdf fill_form data.fdf output output.pdf flatten

并在其中填充,拼合(意味着不再有可编辑的表单字段)pdf将出现在output.pdf中。

这有点复杂,并且安装pdftk可能很麻烦(需要Java堆栈,并且必须解决Ubuntu 9.10上的错误),但这是我能够想到的最简单的过程,而且工作流程这很方便(即,我们的设计人员可以对所需的PDF进行所有布局更改,并且只要不更改字段名称,我就可以放下新的PDF,一切都会正常进行)。

对于缺少有关fdfgen的文档,我深表歉意。forge_fdf()实际上是你唯一需要的功能,并且它具有一个文档字符串来解释参数。我只是从来没有完全围绕它做更多的事情。

2020-03-28

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值