o
    jk                     @   st   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dZe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imginfotextc                 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   Z/var/www/html/Deteccion_Ine/venv/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   



r4   c                    s  t  } jrdd  jD  _t jv }t jv }t jv }t|||fs(J d} jD ]}|| }|r9| nd }t	|j
 j j|d\}	}
|	sLq-td|d   d}|
D ]}d|j }|d }t|tj|j  |rt|  j}t|d|   t|tjtjfr| }t|d	 fd
d|D    |rt|tjrt|d|    | }|j|jf| ksJ t| j|d n|rt|tjrt|t |!   |d7 }qY|dkrtd| d ||7 }q-|dkrt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_depthtextpagez# Page    z    zBounding Box: zQuad Points: c                    s   g | ]}t | jqS r   )r   r/   )r5   pargsr   r   r7   j   s    z	Filters: )r0   z
-> Count: 
z-> Total count: )"r   filter	PARAM_POSinfoPARAM_IMGINFO
PARAM_TEXTanyr
   Zget_textpager   Zget_objectsr8   r-   levelr   ZObjectTypeToStrr+   r   r   Z
get_boundsr/   
isinstancepdfiumZPdfImageZ
PdfTextObjZget_quad_pointsZget_filtersget_metadatar"   r#   Zget_px_sizer4   reprextract)r=   ZpdfZshow_posZshow_imginfoZ	show_textZtotal_countipager9   ZhasvalueZobj_searchercountobjZpad_0Zpad_1ZboundsZquad_boundsmetadatar   r<   r   mainG   sP   




 

rP   )r!   )collectionsr   Zpypdfium2._helpersZ_helpersrG   Zpypdfium2.internalZinternalr   Zpypdfium2_cli._parsersr   r   r   r   r   r@   rB   rC   r   r    r4   rP   r   r   r   r   <module>   s   	

