Ë
    ìì�is  ã                   óŒ   — d dl mZ d dl mZ d dl mZ d dl mZ d dl mZ d dlmZ  G d„ d«      Z G d	„ d
e«      Z	 G d„ de«      Z
y)é   )Úmult_matrix)Útranslate_matrix)Úq)Úbbox2str)Úisnumber)ÚPDFUnicodeNotDefinedc                   ód   — e Zd Zd„ Zd„ Zd„ Zd„ Zdd„Zd„ Zdd„Z	d	„ Z
d
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)Ú	PDFDevicec                 ó    — || _         d | _        y ©N)ÚrsrcmgrÚctm)Úselfr   s     úw/var/www/ITT-ServiceAPI-Services/ITT-Document-Scan/mrzscanner/mrzenv/lib/python3.12/site-packages/pdfminer/pdfdevice.pyÚ__init__zPDFDevice.__init__   s   € ØˆŒØˆŒØó    c                  ó   — y)Nz<PDFDevice>© ©r   s    r   Ú__repr__zPDFDevice.__repr__   s   € Ør   c                  ó   — y r   r   r   s    r   ÚclosezPDFDevice.close   ó   € Ør   c                 ó   — || _         y r   )r   )r   r   s     r   Úset_ctmzPDFDevice.set_ctm   s   € ØˆŒØr   Nc                  ó   — y r   r   ©r   ÚtagÚpropss      r   Ú	begin_tagzPDFDevice.begin_tag   r   r   c                  ó   — y r   r   r   s    r   Úend_tagzPDFDevice.end_tag    r   r   c                  ó   — y r   r   r   s      r   Údo_tagzPDFDevice.do_tag#   r   r   c                  ó   — y r   r   ©r   Úpager   s      r   Ú
begin_pagezPDFDevice.begin_page&   r   r   c                  ó   — y r   r   ©r   r'   s     r   Úend_pagezPDFDevice.end_page)   r   r   c                  ó   — y r   r   )r   ÚnameÚbboxÚmatrixs       r   Úbegin_figurezPDFDevice.begin_figure,   r   r   c                  ó   — y r   r   )r   r-   s     r   Ú
end_figurezPDFDevice.end_figure/   r   r   c                  ó   — y r   r   )r   ÚgraphicstateÚstrokeÚfillÚevenoddÚpaths         r   Ú
paint_pathzPDFDevice.paint_path2   r   r   c                  ó   — y r   r   )r   r-   Ústreams      r   Úrender_imagezPDFDevice.render_image5   r   r   c                  ó   — y r   r   )r   Ú	textstateÚseqs      r   Úrender_stringzPDFDevice.render_string8   r   r   r   )Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r    r"   r$   r(   r+   r0   r2   r9   r<   r@   r   r   r   r
   r
      sH   „ òò
òòóòóòòòòòòór   r
   c                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)ÚPDFTextDevicec                 óà  — t        |j                  | j                  «      }|j                  }|j                  }|j
                  dz  }|j                  |z  }|j                  |z  }|j                  }	|j                  «       rd}d|z  |z  }
|j                  «       r*| j                  |||j                  ||||||	|
«
      |_        y | j                  |||j                  ||||||	|
«
      |_        y )Ng{®Gáz„?é    gü©ñÒMbP?)r   r/   r   ÚfontÚfontsizeÚscalingÚ	charspaceÚ	wordspaceÚriseÚis_multibyteÚis_verticalÚrender_string_verticalÚ
linematrixÚrender_string_horizontal)r   r>   r?   r/   rH   rI   rJ   rK   rL   rM   Údxscales              r   r@   zPDFTextDevice.render_string@   sú   € Ü˜Y×-Ñ-¨t¯x©xÓ8ˆØ�~‰~ˆØ×%Ñ%ˆØ×#Ñ# cÑ)ˆØ×'Ñ'¨'Ñ1ˆ	Ø×'Ñ'¨'Ñ1ˆ	Ø�~‰~ˆØ×ÑÔØˆIØ˜‘/ GÑ+ˆØ×ÑÔØ#'×#>Ñ#>Ø�V˜Y×1Ñ1°4¸Ø˜ I¨t°Wó$>ˆIÔ ð 	ð $(×#@Ñ#@Ø�V˜Y×1Ñ1°4¸Ø˜ I¨t°Wó$>ˆIÔ ð 	r   c                 óò   — |\  }}d}|D ]h  }t        |«      r|||
z  z  }d}Œ|j                  |«      D ]<  }|r||z  }|| j                  t        |||f«      ||||	|«      z  }|dk(  r|r||z  }d}Œ> Œj ||fS ©NFTé    ©r   ÚdecodeÚrender_charr   ©r   r?   r/   ÚposrH   rI   rJ   rK   rL   rM   rS   ÚxÚyÚneedcharspaceÚobjÚcids                   r   rR   z&PDFTextDevice.render_string_horizontalU   ó±   € à‰ˆˆAØˆØò 	)ˆCÜ˜Œ}Ø�S˜‘[Ñ �Ø $‘àŸ;™; sÓ+ò )�CÙ$Ø˜Y™˜Ø˜×)Ñ)Ô*:¸6ÀAÀqÀ6Ó*JØ*.°¸'À4ÈóNñ N�Aà˜b’y¡YØ˜Y™˜Ø$(‘Mñ)ð	)ð �1ˆvˆr   c                 óò   — |\  }}d}|D ]h  }t        |«      r|||
z  z  }d}Œ|j                  |«      D ]<  }|r||z  }|| j                  t        |||f«      ||||	|«      z  }|dk(  r|r||z  }d}Œ> Œj ||fS rU   rW   rZ   s                   r   rP   z$PDFTextDevice.render_string_verticalh   ra   r   c                  ó   — y©NrG   r   )r   r/   rH   rI   rJ   rM   r`   s          r   rY   zPDFTextDevice.render_char{   s   € Ør   N)rA   rB   rC   r@   rR   rP   rY   r   r   r   rE   rE   >   s   „ òò*ò&ó&r   rE   c                   ó:   — e Zd Zd„ Zd„ Zd„ Zd„ Zd	d„Zd„ Zd	d„Z	y)
ÚTagExtractorc                 óZ   — t         j                  | |«       || _        d| _        g | _        y rd   )r
   r   ÚoutfpÚpagenoÚ_stack)r   r   rh   s      r   r   zTagExtractor.__init__ƒ   s*   € Ü×Ñ˜4 Ô)ØˆŒ
ØˆŒØˆŒØr   c                 ó  — |j                   }d}|D ]B  }t        |t        «      sŒ|j                  |«      }|D ]  }	 |j	                  |«      }||z  }Œ ŒD | j                  j                  t        |«      «       y # t
        $ r Y ŒNw xY w)NÚ )	rH   Ú
isinstanceÚbytesrX   Ú	to_unichrr   rh   Úwriter   )	r   r>   r?   rH   Útextr_   Úcharsr`   Úchars	            r   r@   zTagExtractor.render_stringŠ   s”   € Ø�~‰~ˆØˆØò 		ˆCÜ˜c¤5Ô)ØØ—K‘K Ó$ˆEØò �ðØŸ>™>¨#Ó.�DØ˜D‘L‘Dñð			ð 	�
‰
×Ñœ˜4›Ô!Øøô ,ò Ùðús   ¼A;Á;	BÂBc                 ó”   — | j                   j                  d| j                  t        |j                  «      |j
                  fz  «       y )Nz$<page id="%s" bbox="%s" rotate="%d">)rh   rp   ri   r   ÚmediaboxÚrotater&   s      r   r(   zTagExtractor.begin_pageš   s<   € Ø�
‰
×ÑÐ?ØŸ+™+¤x°·±Ó'>ÀÇÁÐLñMô 	Nàr   c                 ód   — | j                   j                  d«       | xj                  dz  c_        y )Nz</page>
r   )rh   rp   ri   r*   s     r   r+   zTagExtractor.end_pageŸ   s%   € Ø�
‰
×Ñ˜Ô%Ø�Š�qÑ�Ør   Nc                 ó$  — d}t        |t        «      r/dj                  d„ t        |j	                  «       «      D «       «      }| j
                  j                  dt        |j                  «      ›|›d�«       | j                  j                  |«       y )Nrl   c           	   3   ój   K  — | ]+  \  }}d t        |«      ›dt        t        |«      «      ›d�–— Œ- y­w)ú z="ú"N)r   Ústr)Ú.0ÚkÚvs      r   ú	<genexpr>z)TagExtractor.begin_tag.<locals>.<genexpr>§   s)   è ø€ ò 2¹6¸A¹q¤a¨¥d¬A¬c°!«f­IÔ6ñ 2ùs   ‚13ú<ú>)rm   ÚdictÚjoinÚsortedÚitemsrh   rp   r   r-   rj   Úappend)r   r   r   Úss       r   r    zTagExtractor.begin_tag¤   sk   € ØˆÜ�eœTÔ"Ø—‘ñ 2Ü! %§+¡+£-Ó0ô2ó 2ˆAà�
‰
×Ò¤Q s§x¡x¤[²!Ð4Ô5Ø�‰×Ñ˜3ÔØr   c                 ó¸   — | j                   sJ ‚| j                   j                  d«      }| j                  j                  dt	        |j
                  «      z  «       y )Néÿÿÿÿz</%s>)rj   Úpoprh   rp   r   r-   )r   r   s     r   r"   zTagExtractor.end_tag­   sB   € Ø�{Š{Ðˆ{Ø�k‰k�o‰o˜bÓ!ˆØ�
‰
×Ñ˜¤1 S§X¡X£;Ñ.Ô/Ør   c                 ó^   — | j                  ||«       | j                  j                  d«       y )NrŠ   )r    rj   r‹   r   s      r   r$   zTagExtractor.do_tag³   s#   € Ø�‰�s˜EÔ"Ø�‰�‰˜ÔØr   r   )
rA   rB   rC   r   r@   r(   r+   r    r"   r$   r   r   r   rf   rf   �   s%   „ òòò ò
ó
òôr   rf   N)Úutilsr   r   r   r   r   Úpdffontr   r
   rE   rf   r   r   r   ú<module>r�      s;   ðå Ý #Ý Ý Ý Ý )÷
-ñ -ôd>�Iô >ôF5�9õ 5r   