栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

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

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

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

整个过程如下:

  1. 你(或设计者)使用Acrobat或其他工具设计PDF并标记表单字段并记下字段名称(我不确定具体如何完成;我们的设计师执行此步骤)。假设你的表单具有字段“名称”和“电话”。
  2. 使用fdfgen创建FDF文件:
from fdfgen import forge_fdffields = [('name','John Smith'),('telephone','555-1234')]fdf = forge_fdf("",fields,[],[],[])fdf_file = open("data.fdf","w")fdf_file.write(fdf)fdf_file.close()
  1. 然后运行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()实际上是你唯一需要的功能,并且它具有一个文档字符串来解释参数。我只是从来没有完全围绕它做更多的事情。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/420400.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号