使用pdfrw我正在尝试合并两个 pdf 以将背景(保存为 pdf 的枕头图像)添加到由reportlab生成的现有 pdf 中。控制哪个背景出现在哪个页面上似乎更容易。我一直在关注 pdfrw 提供的名为fancy-watermark的示例,并对其进行了如下调整,以包括在合并之前对背景进行重新缩放:
composed = PdfWriter()
published = PdfReader(published_file) #pdf generated by reportlab
background = PdfReader(the_background).pages[0] #pdf background generated by pillow
for i, page in enumerate(published.pages):
page_mbox = tuple(float(x) for x in page.MediaBox)
background_mbox = tuple(float(x) for x in background.MediaBox)
background.scale(1. * (page_mbox[2] - page_mbox[0]) / (background_mbox[2] - background_mbox[0]))
background.y += page_mbox[3] - background_mbox[3]
new_page = PageMerge(background).add(page)
composed.addpage(new_page.render())
但是,该方法在背景 pdf 上scale
返回 a :TypeError
TypeError:“NoneType”对象不可调用