使用Python批量拆分银行回单pdf,拆分后每个pdf重命名

背景:

接上篇文章《使用Python批量提取中信银行回单中的信息》,最终因工作需要,需将一份有多页的pdf,拆分成1页回单就是1个pdf,同时对拆分后的银行回单用身份证号命名。

实现路径:

首先,要先将一份多页银行回单的pdf,拆成1页一个pdf,这个前提是导出的原pdf文件中,就是一页一个回单的形式;

其次,拆分后的pdf,先进行名称,暂且按“拆分+页数”命名;

注意:这里不要直接按页数数字名义,重命名替换的时候容易匹配错误。

最后,因为银行回单中本身没有‘身份证号’,所以需要另外准备一个Excel表,列2列数据,第一列是“拆分1,拆分2……”,第二列是对应回单顺序上收款人的身份证号

代码实现如下:

# 1.拆分
import re

from PyPDF2 import PdfFileReader,PdfFileWriter
import os
import xlrd


#注意,out_path填写你电脑上要保存拆分好的pdf的文件夹地址,文件夹最后要加\\
out_Path = 'C:\\Users\\Desktop\\目录\\'

#读取原始PDF
pdfreader = PdfFileReader('未拆分前回单pdf地址')
number_of_pages = pdfreader.getNumPages()

#遍历PDF中每一页
for i in range(number_of_pages):
    page = pdfreader.getPage(i)
    pdfwriter = PdfFileWriter()
    pdfwriter.addPage(page)
    out_file_name = out_Path + "拆分" + str(i+1) + '.pdf'
#新的pdf以页数命名,保存到指定路径
    with open(out_file_name,'wb') as out:
        pdfwriter.write(out)


# 3.重命名
#dirpath后的地址为拆分后pdf所在文件夹的地址
dirpath = "C:\\Users\\Desktop\\目录"
#新名称所在的Excel路径
excelpath = "C:\\Users\\Desktop\\excelname.xls"
pattern = '.pdf'

xl = xlrd.open_workbook(excelpath)
sheet1 = xl.sheet_by_name('Sheet1')

#读取第一列数据
idlist = sheet1.col_values(0)
newlist = sheet1.col_values(1)

print("第一列是:",idlist)
print("第二列是:",newlist)

#文件列表
file_names = os.listdir(dirpath)
print("文件名:" , file_names)
#遍历目录中的所有文件
for i in file_names:
    id = re.sub(pattern, "",i)
    print("id:",id)
    if id in idlist:
        newname = newlist[idlist.index(id)]
        print("idlist.index(id):",idlist.index(id))
        print("newname:",newname)
        #文件名称变更
        os.renames(os.path.join(dirpath,i),os.path.join(dirpath,newname + ".pdf"))

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值