我想使用pdfrw和ReportLab来:
打开现有的PDf,并根据x和y坐标为其添加一行文字(通过ReportLab - drawCentredString(x,y,string)
将生成的pdf插入我的报告中。
到目前为止,我已经尝试过here代码的修改版本:
from pdfrw import PdfReader
from pdfrw.buildxobj import pagexobj
from pdfrw.toreportlab import makerl
from reportlab.pdfgen import canvas
folder='Documents/Assets/'
x = PdfReader(folder+'/'+'BACK_PAGE.pdf',decompress=False).pages
y = pagexobj(x)
c = canvas.Canvas(folder+'/'+'BACK_PAGE_out.pdf')
c.doForm(makerl(c, y))
c.showPage()
c.save()
这只是打开pdf并将其保存为新的(婴儿步骤)。 问题是,我收到了这个错误:
AttributeError: 'list' object has no attribute 'inheritable'
提前感谢任何见解。
P.S。我知道有一个类似的问题here,但它已经过时了,我无法让解决方案起作用。
答案 0 :(得分:1)
发生错误是因为:
y = pagexobj(x)
需要:
y = pagexobj(x[0])
而不是(因为错误意味着不是列表)。