我有一个现成的PDF文档,其中包含某些区域的占位符值。
e.g。 {{first_name}},{{postcode}},...
我需要使用python替换这些值。
有什么建议吗?
答案 0 :(得分:4)
这是一种有点奇怪的事情,因为PDF并不是真正的设计可以修改。根据您生成的PDF的方式,可能很难进行任何替换。你不能轻易地改变任何格式,包括换行符,所以唯一的例子就是如果你有某种形式,那么你就知道这些字段是合适的。
pyPdf可能允许您提取文本,但在编写第二个PDF时我没有看到改变它的功能。 PDFedit肯定会允许你进行更改,并且是可编写脚本的,但我不知道将它连接到Python。如果我正在阅读Joe Kington链接的页面,ReportLab只会读取加号版本的PDF文件。
我建议审核为什么你有PDF格式的模板,如果你确实需要对它进行更改,请看一下PDFedit - 这个描述没有说明什么文档的结构是,并且可能很难找到关键字。
答案 1 :(得分:3)
您可以使用Mako。
from mako.template import Template
template = Template(filename='template.pdf')
output = Template.render(first_name='Simon', postcode='12345')
我忘了提及,在这种情况下,Mako模板的默认值将使用$ {first_name}和$ {postcode}。我不确定这是否可以改变。
答案 2 :(得分:0)
我使用reportlab动态创建包含页眉,页脚,图表,表格,项目符号和几种不同段落样式的10万个PDF。等。