Ë
    vl�jb%  ã                   óÐ   — d dl Z d dlZ d dlZd dlmZ d dlmZmZ d dlm	Z	m
Z
 d dlmZ d dlmZmZmZmZmZ d dlmZ d dlmZmZmZmZ d	Zd
edefd„Z G d„ d«      Z G d„ d«      Zy)é    N)ÚBytesIO)ÚBinaryIOÚLiteral)ÚJBIG2StreamReaderÚJBIG2StreamWriter)ÚLTImage)ÚLITERAL_DEVICE_CMYKÚLITERAL_DEVICE_GRAYÚLITERAL_DEVICE_RGBÚLITERAL_INLINE_DEVICE_GRAYÚLITERAL_INLINE_DEVICE_RGB)ÚPDFValueError)ÚLITERALS_DCT_DECODEÚLITERALS_FLATE_DECODEÚLITERALS_JBIG2_DECODEÚLITERALS_JPX_DECODEz¶Could not import Pillow. This dependency of pdfminer.six is not installed by default. You need it to to save jpg images to a file. Install it with `pip install 'pdfminer.six[image]'`ÚxÚreturnc                 ó   — | dz   dz  dz  S )Né   é   © )r   s    úD/var/www/html/pp/venv/lib/python3.12/site-packages/pdfminer/image.pyÚalign32r      s   € Ø�‰U�q‰L˜AÑÐó    c            
       ó<   — e Zd Zdededededdf
d„Zded	eddfd
„Zy)Ú	BMPWriterÚfpÚbitsÚwidthÚheightr   Nc                 ó’  — || _         || _        || _        || _        |dk(  rd}n|dk(  rd}n|dk(  rd}nt	        |«      ‚t        | j                  | j                  z  dz   dz  «      | _        | j                  | j                  z  | _        d|d	z  z   }t        j                  d
d| j                  | j                  d| j                  d| j                  dd|d«      }t        |«      dk(  sJ t        t        |«      «      «       ‚t        j                  ddd|| j                  z   dd|«      }t        |«      dk(  sJ t        t        |«      «      «       ‚| j                   j                  |«       | j                   j                  |«       |dk(  r9dD ]3  }	| j                   j                  t        j                  d|	|	|	«      «       Œ5 nF|dk(  rAt        d«      D ]3  }	| j                   j                  t        j                  d|	|	|	«      «       Œ5 | j                   j                  «       | _        | j                  | j                  z   | _        y )Né   é   é   é   é   r   é   é6   r   z<IiiHHIIIIIIé(   z<ccIHHIó   Bó   Mé   )r   éÿ   ÚBBBx)r   r   r    r!   r   r   ÚlinesizeÚdatasizeÚstructÚpackÚlenÚstrÚwriteÚrangeÚtellÚpos0Úpos1)
Úselfr   r   r    r!   ÚncolsÚ
headersizeÚinfoÚheaderÚis
             r   Ú__init__zBMPWriter.__init__$   sô  € ØˆŒØˆŒ	ØˆŒ
ØˆŒØ�1Š9Ø‰EØ�QŠYØ‰EØ�RŠZØ‰Eä Ó%Ð%Ü §¡¨d¯i©iÑ!7¸!Ñ!;ÀÑ AÓBˆŒØŸ™¨¯©Ñ3ˆŒØ˜u q™yÑ(ˆ
Ü�{‰{ØØØ�J‰JØ�K‰KØØ�I‰IØØ�M‰MØØØØó
ˆô �4‹y˜BŠÐ.¤¤C¨£I£Ó.ˆÜ—‘ØØØØ˜Ÿ™Ñ&ØØØó
ˆô �6‹{˜bÒ Ð2¤#¤c¨&£kÓ"2Ó2Ð Ø�‰�‰�fÔØ�‰�‰�dÔØ�AŠ:àò <�Ø—‘—‘œfŸk™k¨&°!°Q¸Ó:Õ;ñ<à�cŠ\ä˜3“Zò <�Ø—‘—‘œfŸk™k¨&°!°Q¸Ó:Õ;ð<à—G‘G—L‘L“NˆŒ	Ø—I‘I §¡Ñ-ˆ�	r   ÚyÚdatac                 óª   — | j                   j                  | j                  |dz   | j                  z  z
  «       | j                   j	                  |«       y )Nr#   )r   Úseekr:   r0   r6   )r;   rB   rC   s      r   Ú
write_linezBMPWriter.write_lineZ   s8   € Ø�‰�‰�T—Y‘Y ! a¡%¨4¯=©=Ñ!8Ñ8Ô9Ø�‰�‰�dÕr   )Ú__name__Ú
__module__Ú__qualname__r   ÚintrA   ÚbytesrF   r   r   r   r   r   #   sE   „ ð4.˜8ð 4.¨3ð 4.°sð 4.ÀCð 4.ÈDó 4.ðl˜Cð  uð °ô r   r   c                   óØ   — e Zd ZdZdeddfd„Zdedefd„Zdedefd„Zdedefd	„Z	dedefd
„Z
dedededededefd„Zdedefd„Zdedefd„Zededefd„«       Zdededeeef   fd„Zy)ÚImageWriterzUWrite image to a file

    Supports various image types: JPEG, JBIG2 and bitmaps
    Úoutdirr   Nc                 ó¤   — || _         t        j                  j                  | j                   «      s t        j                  | j                   «       y y )N)rN   ÚosÚpathÚexistsÚmakedirs)r;   rN   s     r   rA   zImageWriter.__init__e   s2   € ØˆŒÜ�w‰w�~‰~˜dŸk™kÔ*Ü�K‰K˜Ÿ™Õ$ð +r   Úimagec                 ó–  — |j                   \  }}|j                  j                  «       }|s| j                  |«      }|S |d   d   t        v r| j                  |«      }|S |d   d   t        v r| j                  |«      }|S | j                  |«      r| j                  |«      }|S |j                  dk(  r'| j                  ||||dz   dz  |j                  «      }|S |j                  dk(  rKt        |j                  v st        |j                  v r'| j                  ||||dz  |j                  dz  «      }|S |j                  dk(  rEt        |j                  v st         |j                  v r!| j                  |||||j                  «      }|S t#        |«      dk(  r!|d   d   t$        v r| j                  |«      }|S | j'                  |«      }|S )zSave an LTImage to diskéÿÿÿÿr   r#   r(   r%   r   )ÚsrcsizeÚstreamÚget_filtersÚ_save_bytesr   Ú
_save_jpegr   Ú_save_jpeg2000Ú_is_jbig2_iamgeÚ_save_jbig2r   Ú	_save_bmpr   Ú
colorspacer   r
   r   r4   r   Ú	_save_raw)r;   rT   r    r!   ÚfiltersÚnames         r   Úexport_imagezImageWriter.export_imagej   sÓ  € àŸ-™-‰ˆ�à—,‘,×*Ñ*Ó,ˆáØ×#Ñ# EÓ*ˆDð@ ˆð= �R‰[˜‰^Ô2Ñ2Ø—?‘? 5Ó)ˆDð: ˆð7 �R‰[˜‰^Ô2Ñ2Ø×&Ñ& uÓ-ˆDð4 ˆð1 ×!Ñ! %Ô(Ø×#Ñ# EÓ*ˆDð. ˆð+ �Z‰Z˜1Š_Ø—>‘> %¨°¸À¹ÀqÑ8HÈ%Ï*É*ÓUˆDð( ˆð% �Z‰Z˜1Š_Ü %×"2Ñ"2Ñ2Ü(¨E×,<Ñ,<Ñ<à—>‘> %¨°¸À¹	À5Ç:Á:ÐPQÁ>ÓRˆDð ˆð �Z‰Z˜1Š_Ü 5×#3Ñ#3Ñ3Ü)¨U×-=Ñ-=Ñ=à—>‘> %¨°¸¸u¿z¹zÓJˆDð ˆô �‹\˜QÒ 7¨1¡:¨a¡=Ô4IÑ#IØ×#Ñ# EÓ*ˆDð
 ˆð —>‘> %Ó(ˆDàˆr   c                 óä  — |j                   j                  «       }| j                  |d«      \  }}t        |d«      5 }t        |j
                  v rZ	 ddlm}m} t        |«      }	|j                  |	«      }
|j                  |
«      }|j                  d«      }|j                  |d«       n|j                  |«       ddd«       |S # t        $ r}t        t        «      |‚d}~ww xY w# 1 sw Y   |S xY w)zSave a JPEG encoded imageú.jpgÚwbr   )ÚImageÚ
ImageChopsNÚRGBÚJPEG)rX   Úget_dataÚ_create_unique_image_nameÚopenr	   r`   ÚPILrh   ri   ÚImportErrorÚPIL_ERROR_MESSAGEr   ÚinvertÚconvertÚsaver6   )r;   rT   rC   rc   rQ   r   rh   ri   ÚerrÚifpÚimgÚinvertedÚrgb_imgs                r   r[   zImageWriter._save_jpeg“   sÞ   € à�|‰|×$Ñ$Ó&ˆà×3Ñ3°E¸6ÓB‰
ˆˆdÜ�$˜Óð 	 Ü" e×&6Ñ&6Ñ6ðBß5ô ˜d“m�Ø—j‘j “o�Ø%×,Ñ,¨SÓ1�Ø"×*Ñ*¨5Ó1�Ø—‘˜R Õ(à—‘˜”÷	ð ˆøô #ò BÜ%Ô&7Ó8¸cÐAûðBú÷		ð ˆús0   ¼C%ÁCÁA"C%Ã	C"ÃCÃC"Ã"C%Ã%C/c                 óT  — |j                   j                  «       }| j                  |d«      \  }}t        |d«      5 }	 ddlm} t        |«      }|j                  |«      }	|	j                  |d«       ddd«       |S # t        $ r}t        t        «      |‚d}~ww xY w# 1 sw Y   |S xY w)zSave a JPEG 2000 encoded imagez.jp2rg   r   )rh   NÚJPEG2000)
rX   rl   rm   rn   ro   rh   rp   rq   r   rt   )
r;   rT   rC   rc   rQ   r   rh   ru   rv   r@   s
             r   r\   zImageWriter._save_jpeg2000©   s¢   € à�|‰|×$Ñ$Ó&ˆà×3Ñ3°E¸6ÓB‰
ˆˆdÜ�$˜Óð 	# ð>Ý%ô ˜$“-ˆCØ—
‘
˜3“ˆAØ�F‰F�2�zÔ"÷	#ð ˆøô ò >Ü!Ô"3Ó4¸#Ð=ûð>ú÷	#ð ˆús.   ¼B¾A<Á.BÁ<	BÂBÂBÂBÂB'c                 óÀ  — | j                  |d«      \  }}t        |d«      5 }t        «       }g }|j                  j	                  «       }|D ]0  \  }}	|t
        v sŒ|j                  |	d   j                  «       «       Œ2 t        |«      dkD  rd}
t        |
«      ‚t        |«      dk(  r1|j                  |d   j                  «       j                  d«      «       |j                  |j                  j                  «       «       |j                  d«       t        |«      }|j                  «       }t!        |«      }|j#                  |«       ddd«       |S # 1 sw Y   |S xY w)	zSave a JBIG2 encoded imagez.jb2rg   ÚJBIG2Globalsr#   zWThere should never be more than one JBIG2Globals associated with a JBIG2 embedded imager   ó   
N)rm   rn   r   rX   rY   r   ÚappendÚresolver4   r   r6   rl   ÚrstriprE   r   Úget_segmentsr   Ú
write_file)r;   rT   rc   rQ   r   Úinput_streamÚglobal_streamsrb   Úfilter_nameÚparamsÚmsgÚreaderÚsegmentsÚwriters                 r   r^   zImageWriter._save_jbig2½   sN  € à×3Ñ3°E¸6ÓB‰
ˆˆdÜ�$˜Óð 	( Ü"›9ˆLàˆNØ—l‘l×.Ñ.Ó0ˆGØ'.ò LÑ#�˜VØÔ"7Ò7Ø"×)Ñ)¨&°Ñ*@×*HÑ*HÓ*JÕKðLô �>Ó" QÒ&ð=ð ô $ CÓ(Ð(Ü�>Ó" aÒ'Ø×"Ñ" >°!Ñ#4×#=Ñ#=Ó#?×#FÑ#FÀuÓ#MÔNØ×Ñ˜uŸ|™|×4Ñ4Ó6Ô7Ø×Ñ˜aÔ Ü& |Ó4ˆFØ×*Ñ*Ó,ˆHä& rÓ*ˆFØ×Ñ˜hÔ'÷/	(ð0 ˆ÷1	(ð0 ˆús   ¢7EÁC/EÅEr    r!   Úbytes_per_liner   c           	      ó$  — | j                  |d«      \  }}t        |d«      5 }t        ||||«      }	|j                  j	                  «       }
d}t        |«      D ]  }|	j                  ||
|||z    «       ||z  }Œ! 	 ddd«       |S # 1 sw Y   |S xY w)zSave a BMP encoded imagez.bmprg   r   N)rm   rn   r   rX   rl   r7   rF   )r;   rT   r    r!   rŒ   r   rc   rQ   r   ÚbmprC   r@   rB   s                r   r_   zImageWriter._save_bmpÚ   s¢   € ð ×3Ñ3°E¸6ÓB‰
ˆˆdÜ�$˜Óð 	$ Ü˜B  e¨VÓ4ˆCØ—<‘<×(Ñ(Ó*ˆDØˆAÜ˜6“]ò $�Ø—‘˜q $ q¨1¨~Ñ+=Ð">Ô?Ø�^Ñ#‘ñ$÷		$ð ˆ÷	$ð ˆús   ¢ABÂBc                 ó¾  — | j                  |d«      \  }}|j                  \  }}t        |j                  j	                  «       «      |z  |z  |j
                  dz  z  }t        |d«      5 }	 ddlm}m	}	 |j
                  dk(  rd}nD|j
                  dk(  r|dk(  rd	}n-|j
                  dk(  r|d
k(  rd}n|j
                  dk(  r|dk(  rd}|j                  |j                  |j                  j	                  «       d«      }|d	k(  r|	j                  |«      }|j                  |«       ddd«       |S # t        $ r}
t        t        «      |
‚d}
~
ww xY w# 1 sw Y   |S xY w)z*Save an image without encoding, just bytesrf   r%   rg   r   )rh   ÚImageOpsNr#   Ú1ÚLr   rj   r   ÚCMYKÚraw)rm   rW   r4   rX   rl   r   rn   ro   rh   r�   rp   rq   Ú	frombytesrr   rt   )r;   rT   rc   rQ   r    r!   Úchannelsr   rh   r�   ru   Úmoderw   s                r   rZ   zImageWriter._save_bytesí   sB  € à×3Ñ3°E¸6ÓB‰
ˆˆdØŸ™‰ˆˆvÜ�u—|‘|×,Ñ,Ó.Ó/°%Ñ7¸&Ñ@ÀEÇJÁJÐQRÁNÑSˆÜ�$˜Óð 	 ð>÷ð �z‰z˜QŠØ‘Ø—‘˜q’ X°¢]Ø‘Ø—‘˜q’ X°¢]Ø‘Ø—‘˜q’ X°¢]Ø�à—/‘/ $¨¯©°u·|±|×7LÑ7LÓ7NÐPUÓVˆCØ�sŠ{Ø—o‘o cÓ*�à�H‰H�RŒL÷/	ð2 ˆøô' ò >Ü!Ô"3Ó4¸#Ð=ûð>ú÷	ð2 ˆús1   Á*EÁ,D1Á4B3EÄ1	EÄ:E
Å
EÅEÅEc                 ó&  — d|j                   › d|j                  d   › d|j                  d   › d�}| j                  ||«      \  }}t        |d«      5 }|j	                  |j
                  j                  «       «       ddd«       |S # 1 sw Y   |S xY w)z#Save an image with unknown encodingú.r   r   r#   z.imgrg   N)r   rW   rm   rn   r6   rX   rl   )r;   rT   Úextrc   rQ   r   s         r   ra   zImageWriter._save_raw  s‰   € à�%—*‘*�˜Q˜uŸ}™}¨QÑ/Ð0°°%·-±-ÀÑ2BÐ1CÀ4ÐHˆØ×3Ñ3°E¸3Ó?‰
ˆˆdä�$˜Óð 	. Ø�H‰H�U—\‘\×*Ñ*Ó,Ô-÷	.àˆ÷	.àˆús   Á*BÂBc                 ó`   — | j                   j                  «       }|D ]  \  }}|t        v sŒ y y)NTF)rX   rY   r   )rT   rb   r†   Ú_paramss       r   r]   zImageWriter._is_jbig2_iamge  s9   € à—,‘,×*Ñ*Ó,ˆØ$+ò 	Ñ ˆK˜ØÔ3Ò3Ùð	ð r   rš   c                 ó‚  — |j                   |z   }t        j                  j                  | j                  |«      }d}t        j                  j                  |«      rb|j                   › d|› |› �}t        j                  j                  | j                  |«      }|dz  }t        j                  j                  |«      rŒb||fS )Nr   r™   r#   )rc   rP   rQ   ÚjoinrN   rR   )r;   rT   rš   rc   rQ   Ú	img_indexs         r   rm   z%ImageWriter._create_unique_image_name  s”   € Ø�z‰z˜CÑˆÜ�w‰w�|‰|˜DŸK™K¨Ó.ˆØˆ	Ü�g‰g�n‰n˜TÔ"Ø—j‘j�\  9 +¨c¨UÐ3ˆDÜ—7‘7—<‘< §¡¨TÓ2ˆDØ˜‰NˆIô �g‰g�n‰n˜TÕ"ð �TˆzÐr   )rG   rH   rI   Ú__doc__r5   rA   r   rd   r[   r\   r^   rJ   r_   rZ   ra   ÚstaticmethodÚboolr]   Útuplerm   r   r   r   rM   rM   _   s  „ ñð
%˜sð % tó %ð
' 'ð '¨có 'ðR ð ¨Có ð, Gð °ó ð( ð ¨Só ð:àðð ðð ð	ð
 ðð ðð 
óð& ð ¨Só ð@˜wð ¨3ó ð ð˜wð ¨4ò ó ðð¨wð ¸Sð ÀUÈ3ÐPSÈ8Á_ô r   rM   )rP   Úos.pathr2   Úior   Útypingr   r   Úpdfminer.jbig2r   r   Úpdfminer.layoutr   Úpdfminer.pdfcolorr	   r
   r   r   r   Úpdfminer.pdfexceptionsr   Úpdfminer.pdftypesr   r   r   r   rq   rJ   r   r   rM   r   r   r   ú<module>r¬      sg   ðÛ 	Û Û Ý ß $ç ?Ý #÷õ õ 1÷ó ð/ð ðˆsð �só ÷9ñ 9÷xGò Gr   