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pos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)parser	obj_types r    _/var/www/html/fyndo/pharma/fyndo/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   ColorspaceToStrgetr)   r+   itemsprint)mn_digitspadmemberskeyvaluer    r    r!   print_img_metadata6   s   



r7   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   r2   )r8   pargsr    r!   r:   j   s    z	Filters: )r3   z
-> Count: 
z-> Total count: )"r   filter	PARAM_POSinfoPARAM_IMGINFO
PARAM_TEXTanyr   get_textpager   get_objectsr;   r0   levelr   ObjectTypeToStrr.   r   r   
get_boundsr2   
isinstancepdfiumPdfImage
PdfTextObjget_quad_pointsget_filtersget_metadatar$   r%   get_px_sizer7   reprextract)r@   pdfshow_posshow_imginfo	show_texttotal_countipager<   hasvalueobj_searchercountobjpad_0pad_1boundsquad_boundsmetadatar    r?   r!   mainG   sP   




 

rg   )r#   )collectionsr   pypdfium2._helpers_helpersrN   pypdfium2.internalinternalr   pypdfium2_cli._parsersr   r   r   r   r   rC   rE   rF   r   r"   r7   rg   r    r    r    r!   <module>   s   	

