
    SAi*                     :   S SK r S SKrS SKrS SKJrJr  S SKJr  S SKJ	r	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Jr  S
SKJ r   S
SK!J"r"  S
SK#J$r$J%r%  S
SK&J'r'J(r(  S
SK)J*r*  S
SK+J,r,  \RZ                  " \.5      r/ " S S\ 5      r0g)    N)BufferedReaderBytesIO)TracebackType)	AnyDict	GeneratorListLiteralOptionalTupleTypeUnion)LAParams)PDFDocument)PDFResourceManager)PDFPage)	PDFParser   )T_num
T_obj_list)	Container)Page)T_repair_setting_repair)PDFStructTreeStructTreeMissing)resolve_and_decode)PdfminerExceptionc                      \ rS rSr% \R
                  S/-   r\\   \S'           S$S\	\
\4   S\S\\R                     S\\	\\   \\   4      S	\\\\4      S
\\   S\S\\S      S\4S jjr\         S%S\	\\R                  \
\4   S\\	\\   \\   4      S	\\\\4      S
\\   S\S\\S      S\S\\	\\R                  4      S\S\SS 4S jj5       rS&S jrS'S jrS\\\      S\\   S\\   SS4S jr\S\\    4S j5       r!\S\\\"4   4S j5       r#\S\\\\4      4S j5       r$\S\\\\4      4S j5       r%\S\\\\4      4S  j5       r&S(S!\\\      S\\\4   4S" jjr'S#r(g))PDF   _pagescached_propertiesNstreamstream_is_externalpathpageslaparamspasswordstrict_metadataunicode_norm)NFCNFKCNFDNFKDraise_unicode_errorsc
           
         Xl         X l        X0l        X@l        Uc  S O
[	        S0 UD6U l        X`l        Xl        Xl         [        [        U5      U=(       d    SS9U l        [        5       U l        0 U l        U R                  R"                   H  nU R                   R%                  U5        M      U R                   R'                  5        H  u  p [)        U5      U R                   U'   M      g ! [         a  n
[        U
5      eS n
A
ff = f! [         a7  n
U(       a  e [*        R-                  SU S[/        U
5       35         S n
A
M|  S n
A
ff = f)N )r)   z[WARNING] Metadata key "z(" could not be parsed due to exception:  )r$   r%   r&   pages_to_parser   r(   r)   r+   r0   r   r   doc	Exceptionr   r   rsrcmgrmetadatainfoupdateitemsr   loggerwarningstr)selfr$   r%   r&   r'   r(   r)   r*   r+   r0   er9   kvs                 J/var/www/html/land-ocr/venv/lib/python3.13/site-packages/pdfplumber/pdf.py__init__PDF.__init__   s&    "4	# ( 0h6J6J ($8!	'"9V#4x~2NDH *+HHMMDMM  & "MM'')DA#5a#8a  *  	'#A&&	'  	" .qc 2""%a&+ 	s0   !C- D
-
D7DD

E,EE
path_or_fprepairgs_pathrepair_settingreturnc                 8   U(       a  [        XXS9nSnS nOP[        U[        [        R                  45      (       a%  [        US5      nSn[        R                  " U5      nOUnSnS n U " UUUUUUUUU
S9	$ ! [         a    U(       d  UR                  5         e f = f)N)r)   rH   settingFrbT)r&   r'   r(   r)   r*   r+   r%   r0   )r   
isinstancer>   pathlibPathopenr   close)clsrF   r'   r(   r)   r*   r+   rG   rH   rI   r0   r$   r%   r&   s                 rC   rQ   PDF.openH   s    " wF "' D
S',,$788*d+F!&<<
+DF!%D	!! /)#5%9
 
 ! 	%	s   (A6 6#Bc                     U R                  5         U R                   H  nUR                  5         M     U R                  (       d  U R                  R                  5         g g N)flush_cacher'   rR   r%   r$   )r?   pages     rC   rR   	PDF.close|   sE    JJDJJL  &&KK '    c                     U $ rV   r3   )r?   s    rC   	__enter__PDF.__enter__   s    rZ   tvalue	tracebackc                 $    U R                  5         g rV   )rR   )r?   r^   r_   r`   s       rC   __exit__PDF.__exit__   s     	

rZ   c                 h  ^  [        T S5      (       a  T R                  $ SnT R                  n/ T l        S[        [        S S 4   4U 4S jjn[        U" 5       5       HH  u  pEUS-   nUb  Xb;  a  M  [        T XVUS9nT R                  R                  U5        XR                  -  nMJ     T R                  $ )Nr"   r   rJ   c               3      >#    [         R                  " TR                  5      n   [        U 5      v   M  ! [         a     g [
         a  n[        U5      eS nAff = f7frV   )r   create_pagesr5   nextStopIterationr6   r   )genr@   r?   s     rC   
iter_pagesPDF.pages.<locals>.iter_pages   sW     &&txx0C/s)O  %   /+A../s0   "A5 A
AA	A
AAAr   )page_numberinitial_doctop)	hasattrr"   r4   r   r   	enumerater   appendheight)r?   doctoppprj   irX   rl   ps   `       rC   r'   	PDF.pages   s    4"";;  "$	/IgtT&9: 	/ !.GAa%K~+"7T4PAKKq!hhF / {{rZ   c                    [        U S5      (       a  U R                  $ 0 nU R                   HH  nUR                  R	                  5        H'  nUR                  U/ 5      UR                  U   -   X'   M)     MJ     Xl        U R                  $ )N_objects)rn   rx   r'   objectskeysget)r?   all_objectsru   kinds       rC   ry   PDF.objects   sr    4$$== -/A		($/OOD"$=		$$O! )  0;}}rZ   c                 `    S U R                    5       n[        [        R                  " U6 5      $ )Nc              3   8   #    U  H  oR                   v   M     g 7frV   )annots.0ru   s     rC   	<genexpr>PDF.annots.<locals>.<genexpr>   s     ,Axx   r'   list	itertoolschainr?   ri   s     rC   r   
PDF.annots   s$    ,,IOOS)**rZ   c                 `    S U R                    5       n[        [        R                  " U6 5      $ )Nc              3   8   #    U  H  oR                   v   M     g 7frV   )
hyperlinksr   s     rC   r   !PDF.hyperlinks.<locals>.<genexpr>   s     0Z||Zr   r   r   s     rC   r   PDF.hyperlinks   s$    0TZZ0IOOS)**rZ   c                      [        U 5       Vs/ s H  oR                  5       PM     sn$ s  snf ! [         a    / s $ f = f)z+Return the structure tree for the document.)r   to_dictr   )r?   elems     rC   structure_treePDF.structure_tree   s>    	/<T/BC/BtLLN/BCCC  	I	s   0 +0 0 ??object_typesc                 |    U R                   U R                   Vs/ s H  o"R                  U5      PM     snS.$ s  snf )N)r8   r'   )r8   r'   r   )r?   r   rX   s      rC   r   PDF.to_dict   s3    =AZZHZTll<0ZH
 	
Hs   9)rx   r"   r5   r(   r8   r4   r)   r&   r0   r7   r$   r%   r+   )FNNNNFNT)	NNNFNFNdefaultT)rJ   N)rJ   r    rV   ))__name__
__module____qualname____firstlineno__r   r#   r	   r>   __annotations__r   r   r   boolr   rO   rP   intr   r   r   r
   rD   classmethodr   rQ   rR   r\   r   BaseExceptionr   rb   propertyr   r'   r   ry   r   r   r   r   __static_attributes__r3   rZ   rC   r    r       s   #,#>#>(#KtCyK
 $)'+8<-1"& %HL%)*ng-.* !* w||$	*
 d3is345* 4S>** 3-* * w'CDE* #*X  9=-1"& %HL6:+4%)1#w||^WDE1 d3is3451 4S>*	1
 3-1 1 w'CDE1 1 %W\\ 1231 )1 #1 
1 1f D'( & M*	
 
 tDz  6 c:o.   +T#s(^, + + +Dc3h0 + + T#s(^ 4  
HT#Y$7 
4S> 
 
rZ   r    )1r   loggingrO   ior   r   typesr   typingr   r   r   r	   r
   r   r   r   r   pdfminer.layoutr   pdfminer.pdfdocumentr   pdfminer.pdfinterpr   pdfminer.pdfpager   pdfminer.pdfparserr   _typingr   r   	containerr   rX   r   rG   r   r   	structurer   r   utilsr   utils.exceptionsr   	getLoggerr   r<   r    r3   rZ   rC   <module>r      s_       &  T T T $ , 1 $ ( &    - 7 % /			8	$t
) t
rZ   