
    )i_/                        S SK r S SKJrJr  S SKJrJrJrJrJ	r	J
r
  S SKrS SKrS SKrSSKJr  SSKJrJrJrJrJr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5      r#\#RH                  S-   r%\#RL                  S-   r'Sr(Sr)\
\	\*\*\*4   \	\*\*\*\*4   \+4   r,\
\	\S4   \\   \4   r- SS\
\\4   S\\ R\                     S\*S\
\*\/4   S\\+   S\0S\Rb                  Rb                  4S jjr2 " S S5      r3g)    N)BufferedReaderBytesIO)TYPE_CHECKINGAnyListOptionalTupleUnion   )utils)T_bboxT_numT_obj
T_obj_listT_pointT_seq)T_table_settingsTableTableFinderTableSettings)	DataFrame)Series)Pagec                   $    \ rS rSrSrSrSrSrSrg)COLORS   )   r   r   )r   r   r   )r   r   r   )r   r   r   r    N)	__name__
__module____qualname____firstlineno__REDGREENBLUETRANSPARENT__static_attributes__r       R/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/pdfplumber/display.pyr   r      s    
CEDKr(   r   )2      H   .streampathpage_ix
resolutionpassword	antialiasreturnc                    U(       a  UnOU R                  S5        U n[        R                  " UUS9R                  U5      nUR	                  US-  U(       + U(       + U(       + SS9R                  5       nUR                  S5      $ )Nr   )r2   r-   T)scaleno_smoothtextno_smoothpathno_smoothimageprefer_bgrxRGB)seek	pypdfium2PdfDocumentget_pagerenderto_pilconvert)	r.   r/   r0   r1   r2   r3   srcpdfium_pageimgs	            r)   get_page_imagerF   $   s      	A'' hw 
 '--2o#m#m$} .  fh  ;;ur(   c                      \ rS rSrS\S4SSS\\R                  R                     S\\	\
4   S\4S	 jjrS
\S\4S jrS\S\4S jrSAS jr    SBS\\\R(                  \4   S\S\S\	S\	S\SS4S jjrSAS jr\\4S\S\S\	SS 4S jjr\\4S\\\   S4   S\S\	SS 4S jjr\\4S\ S\S\	SS 4S  jjr!\\4S!\\"\    S"4   S\S\	SS 4S# jjr#\\4S\ S\S\	SS 4S$ jjr$\\4S!\\"\    S"4   S\S\	SS 4S% jjr%\&\\4S&\\\'4   S'\S\S\	SS 4
S( jjr(\&\\4S)\\"\   \)S4   S'\S\S\	SS 4
S* jjr*S+\&\4S,\\\'4   S-\	S'\S\SS 4
S. jjr+S+\&\4S/\\"\   \)S4   S-\	S'\S\SS 4
S0 jjr,\&\S14S2\-S'\S\S\	SS 4
S3 jjr. SCS4\\\/\0\14      SS 4S5 jjr2\\&\\3Rh                  \3Rj                  4S\S'\S\	S6\ S7\ SS 4S8 jjr6S9S:S;S;\	" S<5      4\4S\S'\S\	SS 4S= jjr7S\84S> jr9SDS? jr:S@r;g)E	PageImageJ   NFpager   originalr1   r3   c           	      R   Xl         Uc]  [        UR                  R                  UR                  R                  UR
                  S-
  UUUR                  R                  S9U l        OX l        UR                  (       a	  Xl	        SnO4UR                  U l	        UR                  R                  UR                  :g  nX0l        U R                  R                  S   U R                  R                  -  U l        U(       Ga  [!        UR                  S   UR                  R                  S   -
  U R                  -  5      [!        UR                  S   UR                  R                  S   -
  U R                  -  5      [!        UR                  S   UR                  R                  S   -
  U R                  -  5      [!        UR                  S   UR                  R                  S   -
  U R                  -  5      4nU R                  R#                  U5      U l        U R%                  5         g )Nr   )r.   r/   r0   r1   r3   r2   Fr         )rJ   rF   pdfr.   r/   page_numberr2   rK   is_originalroot	root_pagebboxr1   sizewidthr6   intcropreset)selfrJ   rK   r1   r3   croppedcropboxs          r)   __init__PageImage.__init__K   s    	*xxXX]]((1,%#**DM %MIGDInn))TYY6G$]]''*TYY__<
TYYq\DNN$7$7$::djjHITYYq\DNN$7$7$::djjHITYYq\DNN$7$7$::djjHITYYq\DNN$7$7$::djjHI	G !MM..w7DM

r(   rT   r4   c                 d    Uu  p#pEU R                  X#45      u  pgU R                  XE45      u  pXgX4$ N)
_reproject)
rZ   rT   x0topx1bottom_x0_top_x1_bottoms
             r)   _reproject_bboxPageImage._reproject_bboxs   s;    "OORI.	|43((r(   coordc                     Uu  p#U R                   R                  SS u  pEU R                  R                  SS u  pgX&-   U-
  U R                  -  nX7-   U-
  U R                  -  n	X4$ )zy
Given an (x0, top) tuple from the *root* coordinate system,
return an (x0, top) tuple in the *image* coordinate system.
NrM   )rJ   rT   rR   r6   )
rZ   rl   rb   rc   px0ptoprx0rtoprf   rg   s
             r)   ra   PageImage._reprojecty   sh    
 IINN2A&	IINN2A&	x#~+
T!TZZ/{r(   c                     [         R                  R                  SU R                  R                  5      U l        U R
                  R                  U R                  5        [         R                  R                  U R
                  S5      U l	        U $ )Nr;   RGBA)
PILImagenewrK   rU   	annotatedpaste	ImageDrawDrawdrawrZ   s    r)   rY   PageImage.reset   sY    udmm.@.@AT]]+MM&&t~~v>	r(   destformatquantizecolorsbitskwargsc                    U(       aB  U R                   R                  U[        R                  R                  S9R                  S5      nOU R                   nUR                  " U4UUU R                  U R                  4S.UD6  g )N)methodP)r   r   dpi)rx   r   ru   rv   
FASTOCTREErB   saver1   )rZ   r   r   r   r   r   r   outs           r)   r   PageImage.save   sw     ..))&9M9M)NVVC ..C	
$//2		

 	
r(   c                 N    U R                  U R                  U R                  5      $ r`   )	__class__rJ   rK   r}   s    r)   copyPageImage.copy   s    ~~dii77r(   points_or_objstrokestroke_widthc                 T   [        U[        [        45      (       a  UnOL[        U[        5      (       a!  SU;   a  US    VVs/ s H  u  pVXV4PM
     nnnOUnUS   US   4US   US   44nU R                  R                  [        [        U R                  U5      5      X#S9  U $ s  snnf )Nptsrb   rc   rd   re   fillrV   )
isinstancetuplelistdictr|   linemapra   )rZ   r   r   r   pointsxyobjs           r)   	draw_linePageImage.draw_line   s     meT]33"Ft,,-1G)6u)=>)=qf)=F>F  C4y#e*-D	3x=/IJF		T__f-.V 	 	
  ?s   B$list_of_linesr   c                 `    [         R                  " U5       H  nU R                  XBUS9  M     U $ Nr   r   )r   to_listr   )rZ   r   r   r   r   s        r)   
draw_linesPageImage.draw_lines   s,     }-ANN1,NG .r(   locationc                     XR                   R                  S   XR                   R                  S   4nU R                  R                  U R	                  U5      X#S9  U $ )Nr   rN   r   rJ   rT   r|   r   rj   rZ   r   r   r   r   s        r)   
draw_vlinePageImage.draw_vline   sL     IINN1-x9JK		t++F3&Ur(   	locationsr   c                 J    [        U5       H  nU R                  XBUS9  M     U $ r   )r   r   rZ   r   r   r   r   s        r)   draw_vlinesPageImage.draw_vlines   '     iAOOA<OH !r(   c                     U R                   R                  S   XR                   R                  S   U4nU R                  R                  U R	                  U5      X#S9  U $ )Nr   rM   r   r   r   s        r)   
draw_hlinePageImage.draw_hline   sN     ))..#Xyy~~a/@(K		t++F3&Ur(   c                 J    [        U5       H  nU R                  XBUS9  M     U $ r   )r   r   r   s        r)   draw_hlinesPageImage.draw_hlines   r   r(   bbox_or_objr   c                    [        U[        [        45      (       a  UnOUnUS   US   US   US   4nUu  pxpUS-  n[        X{-   Xy-   S-  5      n[        X-   X-   S-  5      n[	        X-
  Xy-   S-  5      n	[	        X-
  X-   S-  5      n
U R                  XxX45      nU R                  R                  X[        R                  5        US:  a&  Xx4X44Xz4X44Xx4Xz44X4X44/nU R                  XUS9  U $ )Nrb   rc   rd   re   rM   r   r   )r   r   r   minmaxrj   r|   	rectangler   r&   r   )rZ   r   r   r   r   rT   r   rb   rc   rd   re   half	fill_bboxsegmentss                 r)   	draw_rectPageImage.draw_rect   s(    kE4=11DCIs5z3t9c(mDD"aRWM*#*s|q01RWM*V]S\Q$67(("2)>?			IV-?-?@!RI&|,RL)RL)	H OOH,OOr(   list_of_rectsc                 `    [         R                  " U5       H  nU R                  XRX4S9  M     U $ )Nr   r   r   )r   r   r   )rZ   r   r   r   r   r   s         r)   
draw_rectsPageImage.draw_rects  s,     }-ANN1NR .r(      center_or_objradiusc                     [        U[        5      (       a  UnOUnUS   US   -   S-  US   US   -   S-  4nUu  pxXr-
  X-
  Xr-   X-   4n	U R                  R                  U R	                  U	5      X45        U $ )Nrb   rd   rM   rc   re   )r   r   r|   ellipserj   )
rZ   r   r   r   r   centerr   cxcyrT   s
             r)   draw_circlePageImage.draw_circle  s     mU++"FC4y3t9,1CJX4NRS3STFR["+r{C		$..t4dCr(   list_of_circlesc                 `    [         R                  " U5       H  nU R                  XRX4S9  M     U $ )N)r   r   r   )r   r   r   )rZ   r   r   r   r   r   s         r)   draw_circlesPageImage.draw_circles,  s/     /AQDH 0r(   r   tablec                 <    U R                  UR                  X#US9  U $ )z
Outline all found tables.
r   )r   cells)rZ   r   r   r   r   s        r)   debug_tablePageImage.debug_table7  s'     	KKd 	 	
 r(   tfc                    [        U[        5      (       a  UnOEUb  [        U[        [        45      (       a  U R                  R                  U5      nO[        S5      eUR                   H  nU R                  U5        M     U R                  UR                  SS9  U R                  [        UR                  R                  5       5      [        R                   [        R"                  S-   SS9  U $ )NzGArgument must be instance of TableFinderor a TableFinder settings dict.r   )r   r+   rN   )r   r   r   )r   r   r   r   rJ   debug_tablefinder
ValueErrortablesr   r   edgesr   r   intersectionskeysr   r&   r%   )rZ   r   finderr   s       r)   r   PageImage.debug_tablefinderF  s     b+&&FZ:b=$*?@@YY004F2 
 ]]EU# # 	15%%**,-##;;'	 	 	
 r(   x_tolerancey_tolerancec                 X    U R                   R                  XES9nU R                  XaX#S9  U $ )N)r   r   r   r   r   )rJ   extract_wordsr   )rZ   r   r   r   r   r   wordss          r)   outline_wordsPageImage.outline_words`  s7     		''# ( 
 	4Sr(   )r   r   r   r   r   r   g     O@c                 P    U R                  U R                  R                  XUS9  U $ )Nr   )r   rJ   chars)rZ   r   r   r   s       r)   outline_charsPageImage.outline_charso  s+     	IIOOFL 	 	
 r(   c                 Z    [        5       nU R                  US5        UR                  5       $ )NPNG)r   r   getvalue)rZ   bs     r)   
_repr_png_PageImage._repr_png_{  s#    I		!Uzz|r(   c                 8    U R                   R                  5         g r`   )rx   showr}   s    r)   r   PageImage.show  s    r(   )rx   r|   rK   rJ   r1   rR   r6   )r4   rH   )r   T      r`   )r4   N)<r   r    r!   r"   DEFAULT_RESOLUTIONr   ru   rv   r
   rW   floatboolr]   r   rj   r   ra   rY   strpathlibPathr   r   r   r   DEFAULT_STROKEDEFAULT_STROKE_WIDTHT_contains_pointsT_colorr   r   r   r   r   r   r   r   r   DEFAULT_FILLr   r   r   r   r   r   r   r   r   r   r   r   r   DEFAULT_X_TOLERANCEDEFAULT_Y_TOLERANCEr   r   bytesr   r   r'   r   r(   r)   rH   rH   J   s    /3(:&& 399??+& #u*%	&
 &P)F )v )
 
G 
 
Cw./
 
 	

 
 
 
 

08 )0	(  	
 
4 )0	U#45{BC  	
 
 )0	  	
 
 )0	eh./  	
 
 )0	  	
 
 )0	eh./  	
 
 %(065=)  	
  
H %(0	T&\:{BC	 	 		
 	 
	 $(We^,  	
  
( $(	tG}j+EF	 	 		
 	 
	 %(  	
  
  SW5m=M!MNO	8 )$0"66"66  	
   
" +aCL10	

 
 	

 

E 
r(   rH   )F)4r  ior   r   typingr   r   r   r   r	   r
   	PIL.Imageru   PIL.ImageDrawr=    r   _typingr   r   r   r   r   r   r   r   r   r   r   pandas.core.framer   pandas.core.seriesr   rJ   r   r   r%   r
  r#   r  r  r   rW   r  r	  r  r  r  r  rv   rF   rH   r   r(   r)   <module>r     s3    & C C     E E F F+)  {{U"f$  
c3m$eCc3,>&?D
E%-tG}eCD  #.')*#
7<<
 # # c5j!	#
 sm# # 	YY__#Lw wr(   