pdf_read.py 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import re
  2. import pdfplumber
  3. def get_paytime(path):
  4. with pdfplumber.open(path) as pdf:
  5. page = pdf.pages[0] # 按照列表的规则,第四页
  6. table = page.extract_text()
  7. time=''
  8. #华农商业
  9. if '缴费时间: ' in table and ' 打印' in table:
  10. time="".join(re.findall(r'缴费时间: (.*?) 打印',table))
  11. time=time[0]+time[2:]
  12. #华农交强
  13. elif '收费确认时间:' in table and '有效保单生' in table:
  14. time = "".join(re.findall(r'收费确认时间:(.*?) 有效保单生', table))
  15. time = time[0] + time[2:]
  16. #安盛
  17. elif '收费确认时间' in table and '安盛天平' in table:
  18. time = "".join(re.findall(r'收费确认时间 (.*?)\n', table))
  19. #众安
  20. elif '收费确认时间' in table and '中国平安' in table:
  21. time = "".join(re.findall(r'收费确认时间:(.*?)时', table))
  22. time=time.replace('年','-').replace('月','-').replace('日',' ')
  23. time=time.split('-')
  24. if len(time[1])==1:
  25. time[1]='0'+time[1]
  26. time="-".join(time)+':00'
  27. #人寿
  28. elif '收付确认时间: ' in table and '中国人寿' in table:
  29. time = "".join(re.findall(r'收付确认时间: (.*?) 保单', table))
  30. #太平商业
  31. elif '保费确认时间:' in table and '太平财险' in table:
  32. time = "".join(re.findall(r'保费确认时间:(.*?) 确认码', table))
  33. # 太平交强
  34. elif '保费确认时间:' in table and '太平财产' in table:
  35. time = "".join(re.findall(r'保费确认时间:(.*?) 确认码', table))
  36. # 恒邦商业
  37. elif '保费确认时间:' in table and '恒邦' in table and '机动车交通事故责任强制保险' not in table:
  38. time = "".join(re.findall(r'保费确认时间:(.*?) 保单', table))
  39. # 恒邦交强
  40. elif '保费确认时间:' in table and '恒邦' in table and '机动车交通事故责任强制保险' in table:
  41. time = "".join(re.findall(r'保费确认时间:(.*?)\n', table))
  42. return time