
    )i1
                         S r SSKJr  SSKJr  SSKJr  S\S\\R                     4S jrS\S\\R                     4S jr	S\S\\R                     4S	 jr
S\S\\R                     4S
 jrg)z!
pdf2image custom buffer parsers
    )BytesIO)List)Imagedatareturnc           
         / nSnU[        U 5      :  a  [        XUS-    R                  S5      SS 5      u  p4n[        UR                  S5      5      u  pg[        U5      [        U5      -   [        U5      -   S-   [        U5      [        U5      -  S-  -   nUR	                  [
        R                  " [        XX(-    5      5      5        X(-  nU[        U 5      :  a  M  U$ )zParse PPM file bytes to Pillow Image

:param data: pdftoppm/pdftocairo output bytes
:type data: bytes
:return: List of PPM images parsed from the output
:rtype: List[Image.Image]
r   (      
       lentuplesplitintappendr   openr   )	r   imagesindexcodesizergbsize_xsize_y	file_sizes	            Q/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/pdf2image/parsers.pyparse_buffer_to_ppmr      s     FE
#d)
URZ 8 > >u Ea JKCtzz$/0ID	)CH4q83v;V;TWX;XX	ejje6G)H!IJK #d)
 M    c           
         / nSnU[        U 5      :  a  [        XUS-    R                  S5      SS 5      u  p4n[        UR                  S5      5      u  pg[        U5      [        U5      -   [        U5      -   S-   [        U5      [        U5      -  -   nUR	                  [
        R                  " [        XX(-    5      5      5        X(-  nU[        U 5      :  a  M  U$ )zParse PGM file bytes to Pillow Image

:param data: pdftoppm/pdftocairo output bytes
:type data: bytes
:return: List of PGM images parsed from the output
:rtype: List[Image.Image]
r   r	   r
   r   r   r   )	r   r   r   r   r   maxvalr   r   r   s	            r   parse_buffer_to_pgmr!   "   s     FE
#d)
"4
#;#A#A%#H1#MNFtzz$/0ID	)CK7!;c&kCPVK>WW	ejje6G)H!IJK #d)
 Mr   c           	          U R                  S5      SS  Vs/ s H%  n[        R                  " [        US-   5      5      PM'     sn$ s  snf )zParse JPEG file bytes to Pillow Image

:param data: pdftoppm/pdftocairo output bytes
:type data: bytes
:return: List of JPEG images parsed from the output
:rtype: List[Image.Image]
s   N)r   r   r   r   )r   
image_datas     r   parse_buffer_to_jpegr%   9   sS     **[1R

J 	

7:345
  s   ,Ac           
         / nSnSn[        U 5      nX$:  ah  XUS-    S:X  aQ  US-   U:X  d  XS-   US-    S:X  a:  UR                  [        R                  " [	        XUS-    5      5      5        US-   nUnUS-  nX$:  a  Mh  U$ )	zParse PNG file bytes to Pillow Image

:param data: pdftoppm/pdftocairo output bytes
:type data: bytes
:return: List of PNG images parsed from the output
:rtype: List[Image.Image]
r      s   IEND   	      s   PNG   )r   r   r   r   r   )r   r   c1c2data_lens        r   parse_buffer_to_pngr/   J   s     F	
B	
B4yH
-R!V'Fh$AvR"8F"BMM%**WTrAv->%?@AaBB
a - Mr   N)__doc__ior   typingr   PILr   bytesr   r!   r%   r/    r   r   <module>r6      s      e U[[(9 .e U[[(9 .u ekk): "e U[[(9 r   