
    )i                        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  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  SSKJ r   SSK!J"r"  SSK#J$r$  SSK%J&r&  \RN                  " \(5      r) " S S\ 5      r*g)    N)BufferedReaderBytesIO)TracebackType)AnyDictListOptionalTupleTypeUnion)LAParams)PDFDocument)PDFResourceManager)PDFPage)	PDFParser)PSException   )T_num
T_obj_list)	Container)Page)_repair)resolve_and_decodec                      \ rS rSr% \R
                  S/-   r\\   \S'         SS\	\
\4   S\S\\R                     S\\	\\   \\   4      S	\\\\4      S
\\   S\4S jjr\      S S\	\\R                  \
\4   S\\	\\   \\   4      S	\\\\4      S
\\   S\S\S\\	\\R                  4      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#S\\\      S\\\4   4S jjr$Sr%g)$PDF   _pagescached_propertiesNstreamstream_is_externalpathpageslaparamspasswordstrict_metadatac           
      H   Xl         X l        X0l        X@l        Uc  S O
[	        S0 UD6U l        X`l        [        [        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 ! ["         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   r   docr   rsrcmgrmetadatainfoupdateitemsr   	Exceptionloggerwarningstr)selfr   r    r!   r"   r#   r$   r%   r-   kves               N/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/pdfplumber/pdf.py__init__PDF.__init__   s     "4	# ( 0h6J6J y08>rJ)+HHMMDMM  & "MM'')DA#5a#8a  *  	" .qc 2""%a&+ 	s   C  
D!*,DD!
path_or_fprepairgs_pathreturnc           
      4   U(       a  [        XUS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	S9$ ! [         a    U	(       d  UR                  5         e f = f)N)r$   r=   FrbT)r!   r"   r#   r$   r%   r    )r   
isinstancer3   pathlibPathopenr   close)clsr;   r"   r#   r$   r%   r<   r=   r   r    r!   s              r8   rD   PDF.open@   s     ZGLF!& D
S',,$788*d+F!&<<
+DF!%D	!! /#5   	%	s   (A4 4#Bc                 |    U R                  5         U R                  (       d  U R                  R                  5         g g N)flush_cacher    r   rE   r4   s    r8   rE   	PDF.closem   s,    &&KK '    c                     U $ rI   r(   rK   s    r8   	__enter__PDF.__enter__r   s    rM   tvalue	tracebackc                 $    U R                  5         g rI   )rE   )r4   rQ   rR   rS   s       r8   __exit__PDF.__exit__u   s     	

rM   c                 f   [        U S5      (       a  U R                  $ SnU R                  n/ U l        [        [        R
                  " U R                  5      5       HG  u  p4US-   nUb  XR;  a  M  [        XXQS9nU R                  R                  U5        XR                  -  nMI     U R                  $ )Nr   r   r   )page_numberinitial_doctop)
hasattrr   r)   	enumerater   create_pagesr*   r   appendheight)r4   doctopppipagerX   ps          r8   r"   	PDF.pages}   s    4"";;  "$ !5!5dhh!?@GAa%K~+"7T[PAKKq!hhF A {{rM   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)rZ   rf   r"   objectskeysget)r4   all_objectsrc   kinds       r8   rg   PDF.objects   sr    4$$== -/A		($/OOD"$=		$$O! )  0;}}rM   c                 `    S U R                    5       n[        [        R                  " U6 5      $ )Nc              3   8   #    U  H  oR                   v   M     g 7frI   )annots.0rc   s     r8   	<genexpr>PDF.annots.<locals>.<genexpr>   s     ,Axx   r"   list	itertoolschainr4   gens     r8   ro   
PDF.annots   s$    ,,IOOS)**rM   c                 `    S U R                    5       n[        [        R                  " U6 5      $ )Nc              3   8   #    U  H  oR                   v   M     g 7frI   )
hyperlinksrp   s     r8   rr   !PDF.hyperlinks.<locals>.<genexpr>   s     0Z||Zrt   ru   ry   s     r8   r~   PDF.hyperlinks   s$    0TZZ0IOOS)**rM   object_typesc                 |    U R                   U R                   Vs/ s H  o"R                  U5      PM     snS.$ s  snf )N)r,   r"   )r,   r"   to_dict)r4   r   rb   s      r8   r   PDF.to_dict   s3    =AZZHZTll<0ZH
 	
Hs   9)rf   r   r*   r#   r,   r)   r$   r!   r+   r   r    )FNNNNF)NNNFFN)r>   N)r>   r   rI   )&__name__
__module____qualname____firstlineno__r   r   r   r3   __annotations__r   r   r   boolr	   rB   rC   intr
   r   r   r9   classmethodrD   rE   rO   r   BaseExceptionr   rU   propertyr   r"   r   rg   ro   r~   r   __static_attributes__r(   rM   r8   r   r      s   #,#>#>(#KtCyK
 $)'+8<-1"& %#ng-.# !# w||$	#
 d3is345# 4S>*# 3-# #J  9=-1"& %6:*#w||^WDE* d3is345* 4S>*	*
 3-* * * %W\\ 123* 
* *X 
D'( & M*	
 
 tDz    c:o.   +T#s(^, + + +Dc3h0 + +
HT#Y$7 
4S> 
 
rM   r   )+rw   loggingrB   ior   r   typesr   typingr   r   r   r	   r
   r   r   pdfminer.layoutr   pdfminer.pdfdocumentr   pdfminer.pdfinterpr   pdfminer.pdfpager   pdfminer.pdfparserr   pdfminer.psparserr   _typingr   r   	containerr   rb   r   r<   r   utilsr   	getLoggerr   r1   r   r(   rM   r8   <module>r      s\       &  @ @ @ $ , 1 $ ( ) &     %			8	$O
) O
rM   