Skip to content

Commit 6f3f61e

Browse files
committed
new: ✨ add a blank pages PDF document detection
1 parent 29a5954 commit 6f3f61e

File tree

2 files changed

+26
-3
lines changed

2 files changed

+26
-3
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
### Chg
1010

1111
* ✨ Added pdf page number parameter for multi-pages pdfs
12+
* ✨ Added a blank pages only PDF detection & error raising
1213

1314

1415
## v1.2.1 (2020-09-23)

mindee/inputs.py

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,15 @@ def __init__(
5555
elif self.file_extension not in self.allowed_extensions:
5656
raise Exception("File type not allowed, must be in {%s}" % ", ".join(self.allowed_extensions))
5757

58-
if self.file_extension == "application/pdf" and cut_pdf is True:
58+
if self.file_extension == "application/pdf":
5959
count_pages = self.count_pdf_pages()
60-
if count_pages > 3:
61-
self.merge_pdf_pages([0, count_pages - 2, count_pages - 1][:n_pdf_pages])
60+
61+
if cut_pdf is True:
62+
if count_pages > 3:
63+
self.merge_pdf_pages([0, count_pages - 2, count_pages - 1][:n_pdf_pages])
64+
65+
self.check_if_document_is_empty(count_pages)
66+
6267

6368
@staticmethod
6469
def load(input_type, filename, filepath, file_extension):
@@ -120,3 +125,20 @@ def merge_pdf_pages(self, pages_number):
120125
self.file_object.close()
121126
self.file_object = io.BytesIO(doc.write())
122127

128+
129+
def check_if_document_is_empty(self, pages_number):
130+
"""
131+
:param pages_number: List of pages number to use for merging in the original pdf
132+
:return: (void) Check if the document contain only empty pages
133+
"""
134+
135+
self.file_object.seek(0)
136+
src = fitz.open(
137+
stream=self.file_object.read(),
138+
filetype="pdf"
139+
)
140+
fitz.open()
141+
for page in src:
142+
if len(page.getImageList()) > 0 or page.getText():
143+
return
144+
raise Exception("PDF pages are empty")

0 commit comments

Comments
 (0)