0
使用PdfReader和ReportLab,我试图拉入一个PDF页面,保存它(都成功),然后拉入一个多页PDF并执行相同的操作。 我知道如何一次拉出一页PDF,但我一直在努力拉动一页以上。ReportLab将多页PDF添加到画布
from reportlab.pdfgen import canvas
from pdfrw import PdfReader
from pdfrw.buildxobj import pagexobj
from pdfrw.toreportlab import makerl
c = canvas.Canvas(Out_Folder+pdf_file_name)
c.setPageSize([11*inch, 8.5*inch])
page = PdfReader(folder+'2_VisionMissionValues.pdf',decompress=False).pages
p = pagexobj(page[0])
c.setPageSize([11*inch, 8.5*inch]) #Set page size (for landscape)
c.doForm(makerl(c, p))
c.showPage()
p3_ = PdfReader(m4folder+'Academy.pdf',decompress=False).pages
这就是我迷失的地方。我知道这个作品只是在第一页拉....
p3 = pagexobj(p3_[0])
但是,如果我想在PDF的所有页面拉,我不知道该怎么办。 我尝试这样做:
p3 = [pagexobj(x) for x in p3_[:]]
,但它导致断言错误(见下文)。
c.setPageSize([8.5*inch, 11*inch]) #Set page size (for portrait)
c.doForm(makerl(c, p3))
c.showPage()
c.save()
AssertionError: [{'/BBox': [0.0, 0.0, 792.0, 612.0], '/Filter': '/FlateDecode', '/FormType': 1, '/Matrix': [0, 1, -1, 0, 0, 0], '/Length': '56', '/Subtype': '/Form', '/Resources': {'/ProcSet': ['/PDF', '/ImageB', '/ImageC', '/ImageI'], '/XObject': {'/Im1': (8, 0)}}, '/Type': '/XObject'}, {'/BBox': [0.0, 0.0, 792.0, 612.0], '/Filter': '/FlateDecode', '/FormType': 1, '/Matrix': [0, 1, -1, 0, 0, 0], '/Length': '56', '/Subtype': '/Form', '/Resources': {'/ProcSet': ['/PDF', '/ImageB', '/ImageC', '/ImageI'], '/XObject': {'/Im2': (17, 0)}}, '/Type': '/XObject'}]
感谢,@Patrick莫平!我有另一个问题,我将作为一个单独的问题发布。 –
新问题在这里:http://stackoverflow.com/questions/43773477/reportlab-and-pdfrw-importing-scanned-pdf –