pdf pwd from doc name
Showing
2 changed files
with
16 additions
and
2 deletions
... | @@ -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: | ... | ... |
-
Please register or sign in to post a comment