o
    _qiq                     @   sz   d dl mZ d dlmZ d dlmZ d dlm	Z
 d dlmZmZmZmZmZ dZdZeefZdd Zdd	d
Zdd ZdS )    )OrderedDictN)	add_inputadd_n_digits	get_input
round_listiterator_hasvalueposZimginfoc                 C   sj   t | dd t|  ttj }| jddd|d| d | jdtd	d
d | jddtj	t
t
dd d S )NT)pagesz--filter+Tz"Object types to include. Choices: )nargsmetavarchoiceshelpz--max-depth   zGMaximum recursion depth to consider when descending into Form XObjects.)typedefaultr   z--infozObject details to show.)r   r   r   r   r   )r   r   listpdfium_iObjectTypeToConstkeysadd_argumentintstrlowerINFO_PARAMS)parserZ	obj_types r   a/home/app/PaddleOCR-VL/.venv_paddleocr/lib/python3.10/site-packages/pypdfium2/_cli/pageobjects.pyattach   s0   
r    c              	   C   st   t | j| jt| j|t| j|| jtj	| j
d}| jdkr$| j|d< | D ]\}}t|| d|   q(d S )N)widthheighthorizontal_dpivertical_dpibits_per_pixel
colorspacemarked_content_idz: )r   r!   r"   roundr#   r$   r%   r   ZColorspaceToStrgetr&   r(   itemsprint)mn_digitspadmemberskeyvaluer   r   r   print_img_metadata6   s   



r3   c                    s  t  } jrdd  jD  _t jv }t jv }|s |s J d} jD ]}|| }t|j j jd\}}|s;q%t	d|d   d}	|D ]u}
d|
j
 }|d }t	|tj|
j  |rt|
  j}t	|d|   |
jtjtjfv r|
 }t	|d	 fd
d|D    |rt|
tjrt	|d|
    |
 }|j|jf|
 ksJ t| j|d |	d7 }	qH|	dkrt	d|	 d ||	7 }q%|dkrt	d|  d S d S )Nc                 S   s   g | ]}t j| qS r   )r   r   ).0tr   r   r   
<listcomp>M   s    zmain.<locals>.<listcomp>r   )	max_depthz# Page    z    zBounding Box: zQuad Points: c                    s   g | ]}t | jqS r   )r   r.   )r4   pargsr   r   r6   h   s    z	Filters: )r/   z
-> Count: 
z-> Total count: )r   filter	PARAM_POSinfoPARAM_IMGINFOr	   r   Zget_objectsr7   r,   levelr   ZObjectTypeToStrr*   r   r   Z
get_boundsr.   pdfium_cZFPDF_PAGEOBJ_IMAGEZFPDF_PAGEOBJ_TEXTZget_quad_points
isinstancepdfiumZPdfImageZget_filtersget_metadatar!   r"   Zget_px_sizer3   )r;   ZpdfZshow_posZshow_imginfoZtotal_countipageZhasvalueZobj_searchercountobjZpad_0Zpad_1ZboundsZquad_boundsmetadatar   r:   r   mainG   sH   



 
rK   )r    )collectionsr   Zpypdfium2._helpersZ_helpersrD   Zpypdfium2.internalZinternalr   Zpypdfium2.rawrawrB   Zpypdfium2._cli._parsersr   r   r   r   r   r>   r@   r   r   r3   rK   r   r   r   r   <module>   s   	
