【发布时间】:2017-01-07 09:31:53
【问题描述】:
我正在尝试在 PyPDF2 中使用 PdfFileMerger() 来合并 pdf 文件(参见代码)。
from PyPDF2 import PdfFileMerger, PdfFileReader
[...]
merger = PdfFileMerger()
if (some condition):
merger.append(PdfFileReader(file(filename1, 'rb')))
merger.append(PdfFileReader(file(filename2, 'rb')))
if (test for non-zero file size):
merger.write("output.pdf")
但是,我的合并命令受制于某些条件,结果可能不会生成合并的 pdf 文件。我想知道如何在使用 PdfFileMerger() 执行合并后确定页数。如果不出意外,我想知道页数是否非零。维护一个计数器来执行此操作会很麻烦,因为我正在跨多个函数执行合并,并且更喜欢更优雅的解决方案。
【问题讨论】:
-
也许可以在合并对象周围创建一个包装器,用于维护页数并传递它。
-
是的,这是一个选项。与 PdfFileWriter 不同,PdfFileMerger 似乎没有 getNumPages() 之类的方法,而且似乎我们必须创建一个包装器对象来实现此功能。