
    =pj                         % S SK r S SKJrJrJr  SSKJrJr  Sr\	\
S'   / SQr " S S	\5      rS
\\\4   S\S\\	\	\	4   4S jr\\\S.S
\\\4   S\	S\S\S\	S\4S jjr\S \\S.S\S\	S\S\	S\S\\	   S\4S jjrg)    N)AnyOptionalTuple   )PDF_MIN_RENDER_SCALEPDF_RENDER_SCALEi
DEFAULT_MAX_IMAGE_PIXELS)r	   PDFRenderSizeErrorestimate_pdf_render_pixels'get_pdf_render_scale_within_pixel_limitrender_pdf_page_to_numpyc                   t   ^  \ rS rSrSrSSS\SS.S\S\\   S\\   S\\   S	\S
\\   SS4U 4S jjjr	Sr
U =r$ )r
      zDRaised when a PDF page cannot fit the pixel budget at minimum scale.Nwidthheightpixel_count
max_pixels
page_indexmessager   r   r   r   r   returnc                `   > [         TU ]  U5        X l        X0l        X@l        XPl        X`l        g )N)super__init__r   r   r   r   r   )selfr   r   r   r   r   r   	__class__s          a/var/www/html/pdf-tiff/venv/lib/python3.13/site-packages/paddlex/inference/utils/pdf_rendering.pyr   PDFRenderSizeError.__init__"   s,     	!
&$$    )r   r   r   r   r   )__name__
__module____qualname____firstlineno____doc__r	   strr   intr   __static_attributes____classcell__)r   s   @r   r
   r
      su    N  $ $%)2$(%% }	%
 % c]% % SM% 
% %r   r
   	page_sizescaler   c                     [        U S   5      [        U S   5      p2[        [        R                  " X!-  5      5      n[        [        R                  " X1-  5      5      nXEXE-  4$ )Nr      )floatr&   mathceil)r)   r*   w_pdfh_pdfw_pxh_pxs         r   r   r   4   sT     1&il(;5tyy'(Dtyy'(Dt{""r   )requested_scale	min_scaler   r   r4   r5   r   c                f   [        U S   5      [        U S   5      peUS::  d  US::  a  [        SU SU SU S35      eUS::  a  [        SU S35      eUS::  a  [        SU S35      eUS::  a  [        S	U S35      e[        X5      u    pxX::  a  U$ [        X5      u    pyX:  a1  [        X5      u  pnSU S
U
 SU SU SU SU S3n[        UU
UUUUS9e[	        U[
        R                  " XEU-  -  5      5      nUn[        S5       H&  nX-   S-  n[        U U5      u    nnUU::  a  UnM$  UnM(     U$ )Nr   r,   zPage z: Invalid PDF page size width=z	, height=.'PDF render scale must be positive, got z/Minimum PDF render scale must be positive, got z+Maximum image pixels must be positive, got z: Estimated render size width=z (pixel count z) at minimum PDF render scale z would exceed maximum allowed r          )r-   
ValueErrorr   r
   minr.   sqrtrange)r)   r   r4   r5   r   r0   r1   _requested_pixels
min_pixelsr2   r3   estmsgupperlowerr*   pixelss                     r   r   r   =   s    1&il(;5zUaZJ<=eWIeWTUV
 	
 !B?BSSTUVVA~J9+UVWXXQFzlRSTUU7	SAq%1)GAq4YJCJ<=dV9TF S5 >yk J)l!- 	
 !!!
 	
 :+G!HIEE2Y!#1)UC1fZEE  Lr   )r4   rotationr5   r   pagerG   c                    Uc  US::  a  [        SU S35      eUnO[        U R                  5       UUUUS9nU R                  XcS9R	                  5       $ )Nr   r8   r7   )r   r4   r5   r   )r*   rG   )r;   r   get_sizerenderto_numpy)rH   r   r4   rG   r5   r   r*   s          r   r   r   r   sn     a9/9J!L   7MMO!+!
 ;;U;6??AAr   )r.   typingr   r   r   utils.flagsr   r   r	   r&   __annotations____all__	Exceptionr
   r-   r   r   r    r   r   <module>rS      s    ' ' A + # +% %*#UE\"#+0#
3S=# .+.2UE\"2 2 	2
 2 2 2r .+ 8B
B B 	B
 B B B 	Br   