@@ -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