使用pdfrw和ReportLab将文本添加到现有PDF并插入

时间:2016-10-24 03:49:55

标签: python-3.x reportlab pdfrw

我想使用pdfrw和ReportLab来:

  1. 打开现有的PDf,并根据x和y坐标为其添加一行文字(通过ReportLab - drawCentredString(x,y,string)

  2. 将生成的pdf插入我的报告中。

  3. 到目前为止,我已经尝试过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,但它已经过时了,我无法让解决方案起作用。

1 个答案:

答案 0 :(得分:1)

发生错误是因为:

y = pagexobj(x)

需要:

y = pagexobj(x[0]) 
而不是(因为错误意味着不是列表)。