bd0eb30d by 周伟奇

pdf pwd from doc name

1 parent bd80e62d
...@@ -1596,7 +1596,7 @@ def get_se_cms_compare_info(last_obj, application_entity, detect_list, auto=Fals ...@@ -1596,7 +1596,7 @@ def get_se_cms_compare_info(last_obj, application_entity, detect_list, auto=Fals
1596 jypz_field_input.append(('vinNo', vin_no)) 1596 jypz_field_input.append(('vinNo', vin_no))
1597 jypz_field_input.append(('vehicleTransactionAmount', amount)) 1597 jypz_field_input.append(('vehicleTransactionAmount', amount))
1598 jypz_field_input.append((consts.SE_GB_USED_FIELD[2], first_submission_date)) 1598 jypz_field_input.append((consts.SE_GB_USED_FIELD[2], first_submission_date))
1599 if fp_group.find('Non-OCU Product Group') != -1: 1599 if fp_group.find('Non OCU Product Group') != -1:
1600 jypz_field_input.append(('type', consts.JYPZ_TYPE_1)) 1600 jypz_field_input.append(('type', consts.JYPZ_TYPE_1))
1601 elif fp_group.find('OCU Product Group') != -1: 1601 elif fp_group.find('OCU Product Group') != -1:
1602 jypz_field_input.append(('type', consts.JYPZ_TYPE_2)) 1602 jypz_field_input.append(('type', consts.JYPZ_TYPE_2))
......
1 import os 1 import os
2 import re
2 import json 3 import json
3 import cv2 4 import cv2
4 import shutil 5 import shutil
...@@ -48,8 +49,9 @@ class PDFBuild: ...@@ -48,8 +49,9 @@ class PDFBuild:
48 49
49 class PDFHandler: 50 class PDFHandler:
50 51
51 def __init__(self, path, img_dir_path, document_name=None): 52 def __init__(self, path, img_dir_path, document_name=None, pwd_list=[]):
52 self.path = path 53 self.path = path
54 self.pwd_list = self.get_pwd_list(document_name, pwd_list)
53 self.img_dir_path = img_dir_path 55 self.img_dir_path = img_dir_path
54 self.img_path_list = [] 56 self.img_path_list = []
55 self.img_count = 0 57 self.img_count = 0
...@@ -75,6 +77,12 @@ class PDFHandler: ...@@ -75,6 +77,12 @@ class PDFHandler:
75 self.page_count = None 77 self.page_count = None
76 self.metadata = None 78 self.metadata = None
77 79
80 @staticmethod
81 def get_pwd_list(doc_name, pwd_list):
82 pwd_list_from_doc_name = re.findall(r'\d{6}', doc_name)
83 pwd_list_from_doc_name.extend(pwd_list)
84 return pwd_list_from_doc_name
85
78 def get_suffix(self, file_name): 86 def get_suffix(self, file_name):
79 if file_name is None: 87 if file_name is None:
80 return None 88 return None
...@@ -370,6 +378,12 @@ class PDFHandler: ...@@ -370,6 +378,12 @@ class PDFHandler:
370 self.img_path_list.append(img_save_path) 378 self.img_path_list.append(img_save_path)
371 else: 379 else:
372 with fitz.Document(self.path) as pdf: 380 with fitz.Document(self.path) as pdf:
381 # 解密
382 for pwd in self.pwd_list:
383 if not pdf.isEncrypted:
384 break
385 pdf.authenticate(pwd)
386
373 self.metadata = pdf.metadata 387 self.metadata = pdf.metadata
374 self.page_count = pdf.pageCount 388 self.page_count = pdf.pageCount
375 if isinstance(max_img_count, int) and pdf.pageCount >= max_img_count: 389 if isinstance(max_img_count, int) and pdf.pageCount >= max_img_count:
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!