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