在Linux上使用python填充和扁平化表单的最佳方法

问题描述:

我有一个包含一个表单域的pdf模板文件。我想填写并压扁此表单,然后将其另存为新文件。在Linux上使用python填充和扁平化表单的最佳方法

我正在寻找一个能够做到这一点的Python库,但我也会接受一个使用Linux cli程序的解决方案。

回答我自己的问题,我找到的最佳解决方案是使用Python库和程序pdftk的组合。

该过程描述于the github page for the library

我不想保存.fdf文件保存到磁盘的拳头,所以这是我的方法

from fdfgen import forge_fdf 
from subprocess import Popen, PIPE 

fields = [("field1", "foo"), 
      ("field2", "bar")] 
fdf = forge_fdf("", fields, [], [], []) 
pdftk = ["pdftk", "template.pdf", "fill_form", "-", 
      "output", "out.pdf", "flatten"] 
proc = Popen(pdftk, stdin=PIPE) 
output = proc.communicate(input=fdf) 
if output[1]: 
    raise IOError(output[1])