+
    f0i2                        ^ RI t ^ RIHtHt ^ RIHtHtHtHtH	t	H
t
 ^ RIt^ RIt^ RIt^RIHt ^RIHtHtHtHtHtHt ^RIHtHtHtHt ^RIHt ]'       d   ^ RIt ^RI!H"t"  ! R	 R
4      t#]#PH                  R,           t%]#PL                  R,           t'^t(^Ht)]
]	]*]*]*3,          ]	]*]*]*]*3,          ]+3,          t,]
]	]R3,          ]],          ]3,          t-RR R llt. ! R R4      t/R# )    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)MalformedPDFException)Pagec                   &    ] tR t^tRtRtRtRtRtR# )COLORS N)   r   r   )r   r   r   )r   r   r   )r   r   r   r   )	__name__
__module____qualname____firstlineno__REDGREENBLUETRANSPARENT__static_attributes__r       X/Users/agent/.openclaw/workspace/venv/lib/python3.14/site-packages/pdfplumber/display.pyr   r      s    
CEDKr%   r   .c                   V ^8  d   QhR\         \        \        3,          R\        \        P
                  ,          R\        R\         \        \        3,          R\        \        ,          R\        R\        P                  P                  /# )   streampathpage_ix
resolutionpassword	antialiasreturn)r
   r   r   r   pathlibPathintfloatstrboolPILImage)formats   "r&   __annotate__r9   $   sv     & &.')*&
7<<
 & & c5j!	&
 sm& & 	YY__&r%   c                    V'       d   TpMV P                  ^ 4       T p \        P                  ! WdR7      pTP                  T4      p	T	P                  T^H,          T'       * T'       * T'       * RR7      P                  4       p
TP                  4        T
P                  R4      #   \        P                   d   p\	        T4      hRp?ii ; i)r   )r-   NT)scaleno_smoothtextno_smoothpathno_smoothimageprefer_bgrxRGB)
seek	pypdfium2PdfDocumentPdfiumErrorr   get_pagerenderto_pilcloseconvert)r)   r*   r+   r,   r-   r.   src
pdfium_docepdfium_pageimgs   &&&&&&     r&   get_page_imagerO   $   s      	A'**3B
 %%g.K&--2o#m#m$} .  fh  ;;u!    '#A&&'s   B# #C8CCc                   v  a  ] tR t^Mt o R]RR3V 3R lR lltV 3R lR ltV 3R lR ltV 3R	 lR
 ltR0V 3R lR llt	V 3R lR lt
]]3V 3R lR llt]]3V 3R lR llt]]3V 3R lR llt]]3V 3R lR llt]]3V 3R lR llt]]3V 3R lR llt]]]3V 3R lR llt]]]3V 3R lR llt^]]3V 3R lR  llt^]]3V 3R! lR" llt]]^3V 3R# lR$ lltR1V 3R% lR& llt]]]]P6                  ]P8                  3V 3R' lR( lltR2^^ ^ ]! R34      3]3V 3R) lR* lltV 3R+ lR, lt V 3R- lR. lt!R/t"V t#R# )4	PageImageNFc          
         < V ^8  d   QhRRRS[ S[P                  P                  ,          RS[S[S[3,          RS[RS[/# )r(   pager   originalr,   r.   force_mediabox)r   r6   r7   r
   r2   r3   r5   )r8   __classdict__s   "r&   r9   PageImage.__annotate__N   sS     2 22 399??+2 #u*%	2
 2 2r%   c           	     2   Wn         VP                  '       d   TMVP                  V n        W0n        Vfe   \        VP                  P                  VP                  P                  VP                  ^,
          VVVP                  P                  R7      V n        MW n        V P                  P                  ^ ,          VP                  ^,          VP                  ^ ,          ,
          ,          V n        VP                  VP                   8w  d   VP                  MV'       d   VP                   MVP                  V n        VP                  VP                  8w  d   V P#                  VP                  4      pV P#                  V P                  4      pV P                  P%                  V^ ,          V^ ,          ,
          V^,          V^,          ,
          V^,          V^ ,          ,
          V^,          V^,          ,
          34      V n        V P'                  4        R # )N)r)   r*   r+   r,   r.   r-   )rS   is_original	root_pagerootr,   rO   pdfr)   r*   page_numberr-   rT   sizecropboxr;   bboxmediabox_reproject_bboxcropreset)selfrS   rT   r,   r.   rU   	crop_dims	bbox_dimss   &&&&&&  r&   __init__PageImage.__init__N   sw    	 ,,,D$..	$*xxXX]]((1,%#**DM %M]]''*dll1oQ.OP
 yyDMM) II#1$--t|| 		 99$,,T\\:I,,TYY7I MM..aL9Q</aL9Q</aL9Q</aL9Q</	DM 	

r%   c                D   < V ^8  d   QhRS[ RS[S[S[S[S[3,          /# )r(   r`   r/   )r   r	   r2   )r8   rV   s   "r&   r9   rW      s)     ) )F )uS#sC5G/H )r%   c                d    Vw  r#rEV P                  W#34      w  rgV P                  WE34      w  rWgW3# N)
_reproject)
re   r`   x0topx1bottom_x0_top_x1_bottoms
   &&        r&   rb   PageImage._reproject_bbox   s;    "OORI.	|43((r%   c                <   < V ^8  d   QhRS[ RS[S[S[3,          /# )r(   coordr/   )r   r	   r2   )r8   rV   s   "r&   r9   rW      s#     % % %E#s(O %r%   c                    Vw  r#W P                   ^ ,          ,
          V P                  ,          pW0P                   ^,          ,
          V P                  ,          p\        V4      \        V4      3# )zy
Given an (x0, top) tuple from the *root* coordinate system,
return an (x0, top) tuple in the *image* coordinate system.
)r`   r;   r2   )re   rx   rn   ro   rr   rs   s   &&    r&   rm   PageImage._reproject   sP    
 IIaL DJJ.iil"djj0C#d)$$r%   c                   < V ^8  d   QhRR/# r(   r/   rQ   r   )r8   rV   s   "r&   r9   rW      s      { r%   c                    \         P                  P                  R V P                  P                  4      V n        V P
                  P                  V P                  4       \         P                  P                  V P
                  R4      V n	        V # )r@   RGBA)
r6   r7   newrT   r^   	annotatedpaste	ImageDrawDrawdrawre   s   &r&   rd   PageImage.reset   sY    udmm.@.@AT]]+MM&&t~~v>	r%   c                p   < V ^8  d   QhRS[ S[S[P                  S[3,          RS[RS[RS[RS[RS[RR/# )	r(   destr8   quantizecolorsbitskwargsr/   N)r
   r4   r0   r1   r   r5   r2   r   )r8   rV   s   "r&   r9   rW      sa     
 
Cw./
 
 	

 
 
 
 

r%   c           
        V'       dF   V P                   P                  V\        P                  P                  R 7      P                  R4      pMV P                   pVP                  ! V3RVRVRV P                  V P                  3/VB  R# ))methodPr8   r   dpiN)r   r   r6   r7   
FASTOCTREErI   saver,   )re   r   r8   r   r   r   r   outs   &&&&&&, r&   r   PageImage.save   s     ..))&9M9M)NVVC ..C	
	
 	
 $//2		

 	
r%   c                   < V ^8  d   QhRR/# r|   r   )r8   rV   s   "r&   r9   rW      s     8 8k 8r%   c                N    V P                  V P                  V P                  4      # rl   )	__class__rS   rT   r   s   &r&   copyPageImage.copy   s    ~~dii77r%   c                0   < V ^8  d   QhRS[ RS[RS[RR/# )r(   points_or_objstrokestroke_widthr/   rQ   )T_contains_pointsT_colorr2   )r8   rV   s   "r&   r9   rW      s3      (  	
 
r%   c                   \        V\        \        34      '       d   TpMa\        V\        4      '       d&   R V9   d   VR ,           UUu. uF  w  rVWV3NK
  	  pppM&TpVR,          VR,          3VR,          VR,          33pV P                  P                  \        \        V P                  V4      4      W#R7       V # u uppi )ptsrn   ro   rp   rq   fillwidth)
isinstancetuplelistdictr   linemaprm   )re   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=c                T   < V ^8  d   QhRS[ S[S[,          R3,          RS[RS[RR/# )r(   list_of_linespd.DataFramer   r   r/   rQ   )r
   r   r   r   r2   )r8   rV   s   "r&   r9   rW      sC      U#45~EF  	
 
r%   c                f    \         P                  ! V4       F  pV P                  WBVR 7       K  	  V # r   r   )r   to_listr   )re   r   r   r   r   s   &&&& r&   
draw_linesPageImage.draw_lines   s,     }-ANN1,NG .r%   c                0   < V ^8  d   QhRS[ RS[RS[RR/# r(   locationr   r   r/   rQ   r   r   r2   )r8   rV   s   "r&   r9   rW      3        	
 
r%   c                    WP                   ^,          WP                   ^,          3pV P                  P                  V P                  V4      W#R7       V # )   r   r`   r   r   rb   re   r   r   r   r   s   &&&& r&   
draw_vlinePageImage.draw_vline   sB     IIaL(IIaLA		t++F3&Ur%   c                T   < V ^8  d   QhRS[ S[S[,          R3,          RS[RS[RR/# r(   	locationszpd.Series[float]r   r   r/   rQ   r
   r   r   r   r2   )r8   rV   s   "r&   r9   rW      B      e&889  	
 
r%   c                P    \        V4       F  pV P                  WBVR 7       K  	  V # r   )r   r   re   r   r   r   r   s   &&&& r&   draw_vlinesPageImage.draw_vlines   '     iAOOA<OH !r%   c                0   < V ^8  d   QhRS[ RS[RS[RR/# r   r   )r8   rV   s   "r&   r9   rW      r   r%   c                    V P                   ^ ,          WP                   ^,          V3pV P                  P                  V P                  V4      W#R7       V # )r   r   r   r   s   &&&& r&   
draw_hlinePageImage.draw_hline   sD     ))A,))A,A		t++F3&Ur%   c                T   < V ^8  d   QhRS[ S[S[,          R3,          RS[RS[RR/# r   r   )r8   rV   s   "r&   r9   rW      r   r%   c                P    \        V4       F  pV P                  WBVR 7       K  	  V # r   )r   r   r   s   &&&& r&   draw_hlinesPageImage.draw_hlines   r   r%   c          
      L   < V ^8  d   QhRS[ S[S[3,          RS[RS[RS[RR/# )r(   bbox_or_objr   r   r   r/   rQ   )r
   r   r   r   r2   )r8   rV   s   "r&   r9   rW      sF      65=)  	
  
r%   c                z   \        V\        \        34      '       d   TpM$TpVR ,          VR,          VR,          VR,          3pVw  rxrV^,          p\        W{,           Wy,           ^,          4      p\        W,           W,           ^,          4      p\	        W,
          Wy,           ^,          4      p	\	        W,
          W,           ^,          4      p
V P                  WxW34      pV P                  P                  W\        P                  4       V^ 8  d*   Wx3W33Wz3W33Wx3Wz33W3W33.pV P                  WVR7       V # )rn   ro   rp   rq   r   )r   r   r   minmaxrb   r   	rectangler   r#   r   )re   r   r   r   r   r`   r   rn   ro   rp   rq   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%   c          
      ^   < V ^8  d   QhRS[ S[S[,          S[R3,          RS[RS[RS[RR/# )r(   list_of_rectsr   r   r   r   r/   rQ   )r
   r   r   r   r   r2   )r8   rV   s   "r&   r9   rW     sM     	 	T&\:~EF	 	 		
 	 
	r%   c                f    \         P                  ! V4       F  pV P                  WRW4R 7       K  	  V # )r   r   r   )r   r   r   )re   r   r   r   r   r   s   &&&&& r&   
draw_rectsPageImage.draw_rects  s,     }-ANN1NR .r%   c          
      L   < V ^8  d   QhRS[ S[S[3,          RS[RS[RS[RR/# )r(   center_or_objradiusr   r   r/   rQ   )r
   r   r   r2   r   )r8   rV   s   "r&   r9   rW   (  sF      We^,  	
  
r%   c                N   \        V\        4      '       d   TpM>TpVR ,          VR,          ,           ^,          VR,          VR,          ,           ^,          3pVw  rxWr,
          W,
          Wr,           W,           3p	V P                  P                  V P	                  V	4      W44       V # )rn   rp   ro   rq   )r   r   r   ellipserb   )
re   r   r   r   r   centerr   cxcyr`   s
   &&&&&     r&   draw_circlePageImage.draw_circle(  s     mU++"FC4y3t9,1CJX4NRS3STFR["+r{C		$..t4dCr%   c          
      ^   < V ^8  d   QhRS[ S[S[,          S[R3,          RS[RS[RS[RR/# )r(   list_of_circlesr   r   r   r   r/   rQ   )r
   r   r   r   r2   r   )r8   rV   s   "r&   r9   rW   9  sM     	 	tG}j.HI	 	 		
 	 
	r%   c                f    \         P                  ! V4       F  pV P                  WRW4R 7       K  	  V # ))r   r   r   )r   r   r   )re   r   r   r   r   r   s   &&&&& r&   draw_circlesPageImage.draw_circles9  s/     /AQDH 0r%   c          
      6   < V ^8  d   QhRS[ RS[RS[RS[RR/# )r(   tabler   r   r   r/   rQ   )r   r   r2   )r8   rV   s   "r&   r9   rW   D  s=        	
  
r%   c                B    V P                  VP                  W#VR7       V # )z
Outline all found tables.
r   )r   cells)re   r   r   r   r   s   &&&&&r&   debug_tablePageImage.debug_tableD  s'     	KKd 	 	
 r%   c                N   < V ^8  d   QhRS[ S[S[S[S[3,          ,          RR/# )r(   table_settingsr/   rQ   )r   r
   r   r   r   )r8   rV   s   "r&   r9   rW   S  s4       +}.>>?

 
r%   c                   \        V\        4      '       d   TpMGVe   \        V\        \        34      '       d   V P                  P                  V4      pM\        R4      hVP                   F  pV P                  V4       K  	  V P                  VP                  ^R7       V P                  \        VP                  P                  4       4      \        P                   \        P"                  R,           ^R7       V # )NzGArgument must be instance of TableFinderor a TableFinder settings dict.)r   )r   r   r      )r   r   r   r   rS   debug_tablefinder
ValueErrortablesr   r   edgesr   r   intersectionskeysr   r#   r"   )re   r   finderr   s   &&  r&   r  PageImage.debug_tablefinderS  s     nk22#F#z]D1(
 (
 YY00@F2 
 ]]EU# # 	15%%**,-##;;'	 	 	
 r%   c                <   < V ^8  d   QhRS[ RS[ RS[RS[RS[RR/# )r(   r   r   r   x_tolerancey_tolerancer/   rQ   )r   r2   r   )r8   rV   s   "r&   r9   rW   r  sG        	
   
r%   c                d    V P                   P                  WER 7      pV P                  WaW#R7       V # ))r  r  r   r   r   )rS   extract_wordsr   )re   r   r   r   r  r  wordss   &&&&&& r&   outline_wordsPageImage.outline_wordsr  s7     		''# ( 
 	4Sr%   c                0   < V ^8  d   QhRS[ RS[ RS[RR/# )r(   r   r   r   r/   rQ   )r   r2   )r8   rV   s   "r&   r9   rW     s3     
 

 
 	

 

r%   c                V    V P                  V P                  P                  WVR 7       V # )r  )r   rS   chars)re   r   r   r   s   &&&&r&   outline_charsPageImage.outline_chars  s+     	IIOOFL 	 	
 r%   c                    < V ^8  d   QhRS[ /# )r(   r/   )bytes)r8   rV   s   "r&   r9   rW     s      E r%   c                Z    \        4       pV P                  VR 4       VP                  4       # )PNG)r   r   getvalue)re   bs   & r&   
_repr_png_PageImage._repr_png_  s#    I		!Uzz|r%   c                   < V ^8  d   QhRR/# )r(   r/   Nr   )r8   rV   s   "r&   r9   rW     s      d r%   c                :    V P                   P                  4        R # rl   )r   showr   s   &r&   r"  PageImage.show  s    r%   )r   r`   r   rT   rS   r,   r[   r;   )r  T      rl   )r   r   r   r   g     O@)$r   r   r   r   DEFAULT_RESOLUTIONrh   rb   rm   rd   r   r   DEFAULT_STROKEDEFAULT_STROKE_WIDTHr   r   r   r   r   r   DEFAULT_FILLr   r   r   r   r   r  r   DEFAULT_X_TOLERANCEDEFAULT_Y_TOLERANCEr  r2   r  r  r"  r$   __classdictcell__)rV   s   @r&   rQ   rQ   M   s     /3(:$2 2h) )% % 
 
08 8 )0	 4 )0	  )0	  )0	  )0	  )0	  %(0 H %(0	 	 $( ( $(	 	 %(  B )$0"66"66 " +aCL10	
 
 
 r%   rQ   )2   r   )F)0r0   ior   r   typingr   r   r   r   r	   r
   	PIL.Imager6   PIL.ImageDrawrB    r   _typingr   r   r   r   r   r   r   r   r   r   r   utils.exceptionsr   pandaspdrS   r   r   r"   r)  r    r'  r(  r&  r2   r4   r   r   rO   rQ   r   r%   r&   <module>r7     s     & C C     E E F F 3  {{U"f$  
c3m$eCc3,>&?D
E%-tG}eCD &RF Fr%   