
    )iS"                     ,   S SK JrJrJrJrJrJrJrJr  S SK	J
r
  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SS	KJr  SS
KJrJrJrJr  \(       a  SSKJr  SSKJr  SSKJr  SSKJr  \\\\ \!4      r" " S S5      r# " S S\#5      r$ " S S\#5      r%g)    )BinaryIOIterableListOptionalSequenceTYPE_CHECKINGUnioncast)	PSLiteral   )utils)PDFColorSpace)PDFFont)PDFUnicodeNotDefined)PDFPage)	PDFStream)MatrixPointRectPathSegment)PDFGraphicState)PDFResourceManager)PDFTextState)	PDFStackTc                   j   \ rS rSrSrS,S jrS\4S jrS-S jrS\	S	\	S
\	SS4S jr
S.S jrS\SS4S jrS/S\S\S   SS4S jjrS.S jrS/S\S\S   SS4S jjrS\S\SS4S jrS\SS4S jrS\S\S\SS4S jrS\SS4S jrSSS\S \S!\S"\\   SS4S# jrS\S$\SS4S% jrS&S'S(\S)\ SSSS4
S* jr!S+r"g)0	PDFDevice   zGTranslate the output of PDFPageInterpreter to the output that is neededreturnNc                     Xl         S U l        g N)rsrcmgrctm)selfr!   s     R/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/pdfminer/pdfdevice.py__init__PDFDevice.__init__"   s    %)    c                     g)Nz<PDFDevice> r#   s    r$   __repr__PDFDevice.__repr__&   s    r'   c                     U $ r    r)   r*   s    r$   	__enter__PDFDevice.__enter__)   s    r'   exc_typeexc_valexc_tbc                 $    U R                  5         g r    )close)r#   r0   r1   r2   s       r$   __exit__PDFDevice.__exit__,   s    

r'   c                     g r    r)   r*   s    r$   r4   PDFDevice.close/       r'   r"   c                     Xl         g r    )r"   )r#   r"   s     r$   set_ctmPDFDevice.set_ctm2   s    r'   tagpropsr   c                     g r    r)   r#   r=   r>   s      r$   	begin_tagPDFDevice.begin_tag5   r9   r'   c                     g r    r)   r*   s    r$   end_tagPDFDevice.end_tag8   r9   r'   c                     g r    r)   r@   s      r$   do_tagPDFDevice.do_tag;   r9   r'   pagec                     g r    r)   )r#   rI   r"   s      r$   
begin_pagePDFDevice.begin_page>   r9   r'   c                     g r    r)   r#   rI   s     r$   end_pagePDFDevice.end_pageA   r9   r'   namebboxmatrixc                     g r    r)   )r#   rQ   rR   rS   s       r$   begin_figurePDFDevice.begin_figureD   r9   r'   c                     g r    r)   )r#   rQ   s     r$   
end_figurePDFDevice.end_figureG   r9   r'   graphicstater   strokefillevenoddpathc                     g r    r)   )r#   rZ   r[   r\   r]   r^   s         r$   
paint_pathPDFDevice.paint_pathJ   s     	r'   streamc                     g r    r)   )r#   rQ   rb   s      r$   render_imagePDFDevice.render_imageT   r9   r'   	textstater   seqncsc                     g r    r)   )r#   rf   rg   rh   rZ   s        r$   render_stringPDFDevice.render_stringW   s     	r'   )r"   r!   )r!   r   r   N)r   r   r   Nr    )#__name__
__module____qualname____firstlineno____doc__r%   strr+   r.   objectr5   r4   r   r;   r   r   rA   rD   rG   r   rK   rO   r   rU   rX   boolr   r   r`   r   rd   
PDFTextSeqr   rj   __static_attributes__r)   r'   r$   r   r      s   Q*#  & & T 6 d Y x/D PT ) H[,A T w V  W   D & T s t '  	
  {# 
 i D !  	
 ( 
r'   r   c                       \ rS rSrSSS\S\SSSS	4
S
 jrS\S\S\S\	S\
S\
S\
S\
S\
S\
S\SSS\4S jrS\S\S\S\	S\
S\
S\
S\
S\
S\
S\SSS\4S jrS\S\	S\
S\
S\
S\S\SSS\
4S jrSrg	)PDFTextDevicea   rf   r   rg   rh   rZ   r   r   Nc                 :   U R                   c   e[        R                  " UR                  U R                   5      nUR                  nUR
                  nUR                  S-  nUR                  U-  n	UR                  U-  n
UR                  nUc   eUR                  5       (       a  Sn
SU-  U-  nUR                  5       (       a,  U R                  UUUR                  UUUU	U
UUUU5      Ul        g U R                  UUUR                  UUUU	U
UUUU5      Ul        g )Ng{Gz?r   gMbP?)r"   r   mult_matrixrS   fontfontsizescaling	charspace	wordspaceriseis_multibyteis_verticalrender_string_vertical
linematrixrender_string_horizontal)r#   rf   rg   rh   rZ   rS   r|   r}   r~   r   r   r   dxscales                r$   rj   PDFTextDevice.render_stringb   s7    xx###""9#3#3TXX>~~%%##d*'''1	'''1	~~I("W,#'#>#>$$$I  $(#@#@$$$I r'   rS   posr|   r}   r~   r   r   r   r   c                 @   Uu  pSnU H  n[        U[        [        45      (       a  UUU
-  -  nSnM*  UR                  U5       HQ  nU(       a  X-  nXR	                  [
        R                  " X-U45      UUUU	UUU5      -  nUS:X  a  U(       a  X-  nSnMS     M     X4$ NFT    
isinstanceintfloatdecoderender_charr   translate_matrixr#   rg   rS   r   r|   r}   r~   r   r   r   r   rh   rZ   xyneedcharspaceobjcids                     r$   r   &PDFTextDevice.render_string_horizontal        C#U|,,S7]" $;;s+C$))..v1v> $	 	A byY$(M , * vr'   c                 @   Uu  pSnU H  n[        U[        [        45      (       a  UUU
-  -  nSnM*  UR                  U5       HQ  nU(       a  X-  nXR	                  [
        R                  " X-U45      UUUU	UUU5      -  nUS:X  a  U(       a  X-  nSnMS     M     X4$ r   r   r   s                     r$   r   $PDFTextDevice.render_string_vertical   r   r'   r   c	                     gNr   r)   )	r#   rS   r|   r}   r~   r   r   rh   rZ   s	            r$   r   PDFTextDevice.render_char   s     r'   r)   )rm   rn   ro   rp   ru   r   rj   r   r   r   r   r   r   r   r   rv   r)   r'   r$   rx   rx   a   s   0!0 0 	0
 (0 
0d&& & 	&
 & & & & & & & & (& 
&P&& & 	&
 & & & & & & & & (& 
&P  	
     ( 
r'   rx   c            
           \ rS rSr SSSS\S\SS4S jjrS	S
S\S\SSSS4
S jr	S\
S\SS4S jrS\
SS4S jrSS\S\S   SS4S jjrSS jrSS\S\S   SS4S jjrS\SS4S jrSrg) TagExtractor   r!   r   outfpcodecr   Nc                 b    [         R                  X5        X l        X0l        SU l        / U l        g r   )r   r%   r   r   pageno_stack)r#   r!   r   r   s       r$   r%   TagExtractor.__init__   s*     	4)

')r'   rf   r   rg   rh   rZ   r   c                    UR                   nUc   eSnU Hu  n[        U[        5      (       a  [        R                  " U5      n[        U[
        5      (       d  ME  UR                  U5      nU H  n	 UR                  U	5      n
Xj-  nM     Mw     U R                  [        R                  " U5      5        g ! [         a     MT  f = f)N )r|   r   rr   r   make_compat_bytesbytesr   	to_unichrr   _writeenc)r#   rf   rg   rh   rZ   r|   textr   charsr   chars              r$   rj   TagExtractor.render_string   s     ~~C#s##--c2c5))KK$E>>#.DLD   	EIIdO$ , s   2B55
CCrI   r"   c                     SU R                   [        R                  " UR                  5      UR                  4-  nU R                  U5        g )Nz$<page id="%s" bbox="%s" rotate="%d">)r   r   bbox2strmediaboxrotater   )r#   rI   r"   outputs       r$   rK   TagExtractor.begin_page  s@    7KKNN4==)KK;
 

 	Fr'   c                 P    U R                  S5        U =R                  S-  sl        g )Nz</page>
r   )r   r   rN   s     r$   rO   TagExtractor.end_page  s    K qr'   r=   r>   r   c                    Sn[        U[        5      (       au  SR                  [        UR	                  5       5       VVs/ s H?  u  pESR                  [        R                  " U5      [        R                  " U5      5      PMA     snn5      nSR                  [        R                  " [        [        UR                  5      5      U5      nU R                  U5        U R                  R                  U5        g s  snnf )Nr   z {}="{}"z<{}{}>)r   dictjoinsorteditemsformatr   r   make_compat_strr
   rr   rQ   r   r   append)r#   r=   r>   skvout_ss          r$   rA   TagExtractor.begin_tag"  s    eT"" #)"7"7 %%eiilE4I4I!4LM"7A 		$sCHH*= >BE3s   AC8
c                    U R                   (       d   [        U R                  5      5       eU R                   R                  S5      nS[        R
                  " [        [        UR                  5      5      -  nU R                  U5        g )Nz</%s>)	r   rr   r   popr   r   r
   rQ   r   )r#   r=   r   s      r$   rD   TagExtractor.end_tag0  s[    {{,C,,{kkoob!%))Dchh$788Er'   c                 \    U R                  X5        U R                  R                  S5        g )Nr   )rA   r   r   r@   s      r$   rG   TagExtractor.do_tag7  s!    s"r'   r   c                 l    U R                   R                  UR                  U R                  5      5        g r    )r   writeencoder   )r#   r   s     r$   r   TagExtractor._write<  s!    

$**-.r'   )r   r   r   r   )zutf-8r    rl   )rm   rn   ro   rp   r   rr   r%   ru   r   rj   r   r   rK   rO   r   r   rA   rD   rG   r   rv   r)   r'   r$   r   r      s    KR*+*4<*EH*	*%!% % 	%
 (% 
%0w V  W  
Y x/D PT ) H[,A T 
/ / /r'   r   N)&typingr   r   r   r   r   r   r	   r
   pdfminer.psparserr   r   r   pdfcolorr   pdffontr   r   pdfpager   pdftypesr   r   r   r   r   	pdfinterpr   r   r   r   r   r   r   ru   r   rx   r   r)   r'   r$   <module>r      s   	 	 	 (  #  )   3 3*-'$ eC-./
? ?DNI NbK/9 K/r'   