我正在尝试使用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执行合并后的页数().如果没有别的,我想知道页数是否非零。维护一个计数器来完成这一任务会很麻烦,因为我正在执行跨多个函数的合并,并且希望使用更优雅的解决方案。
2条答案
按热度按时间nfg76nw01#
也许您可以尝试使用以下方法
你的情况
zf9nrax12#
我的情况和你一样。我会解释我的解决方案。我不是用
PdfFileReader('filename.pdf', 'rb')
打开PDF,而是用数组传递PDF内容以进行合并(pdfs_content_array
)。然后准备合并和输出(我不想在本地保存生成的文件,所以我必须使用BytesIO将合并的内容保存到某个地方)比较页码结果需要calc_page_sum
,最重要的是:所以我用PdfFileReader打开了字节内容,得到了页码,然后我添加了合并,我把合并写进了字节输出,然后和calc_page_sum比较,就这样。希望这会有帮助!
第2版: