使用PyPDF2拆分PDF时如何将最后一页输出文件重命名为带end标识的文件
解决方案
你可以提前获取PDF总页数,在循环时判断当前页是否为最后一页,单独指定文件名即可,修改后代码如下:
import os from PyPDF2 import PdfFileReader, PdfFileWriter def pdf_splitter(path): fname = os.path.splitext(os.path.basename(path))[0] pdf = PdfFileReader(path) # 提前获取总页数 total_pages = pdf.getNumPages() for page in range(total_pages): pdf_writer = PdfFileWriter() pdf_writer.addPage(pdf.getPage(page)) # 判断是否为最后一页(索引从0开始,最后一页索引为总页数-1) if page == total_pages - 1: output_filename = '{}_01_end.pdf'.format(fname) else: # 页码补前导零,匹配你需要的两位数字格式 output_filename = '{}_01_{:02d}.pdf'.format(fname, page+1) with open(output_filename, 'wb') as out: pdf_writer.write(out) print('Created: {}'.format(output_filename)) if __name__ == '__main__': path = 'w9.pdf' pdf_splitter(path)
关键改动说明
- 新增
total_pages变量存储PDF总页数,作为最后一页的判断依据 - 新增分支判断逻辑:当前遍历到的页索引等于
total_pages - 1时,使用带end的文件名,其余页保持原有的两位页码命名规则 - 补充了页码前导零格式化逻辑,和你举例的
w9_01_01.pdf格式完全匹配
内容的提问来源于stack exchange,提问作者cavemanweb
相关产品推荐
相关产品推荐

