o
    UTiq                     @   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pos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)parser	obj_types r   U/var/www/html/RAG/RAG_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   



r6   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   r1   )r7   pargsr   r    r9   h   s    z	Filters: )r2   z
-> Count: 
z-> Total count: )r   filter	PARAM_POSinfoPARAM_IMGINFOr
   r   get_objectsr:   r/   levelr   ObjectTypeToStrr-   r   r   
get_boundsr1   pdfium_cFPDF_PAGEOBJ_IMAGEFPDF_PAGEOBJ_TEXTget_quad_points
isinstancepdfiumPdfImageget_filtersget_metadatar#   r$   get_px_sizer6   )r>   pdfshow_posshow_imginfototal_countipagehasvalueobj_searchercountobjpad_0pad_1boundsquad_boundsmetadatar   r=   r    mainG   sH   



 
ra   )r"   )collectionsr   pypdfium2._helpers_helpersrM   pypdfium2.internalinternalr   pypdfium2.rawrawrH   pypdfium2._cli._parsersr   r   r   r   r   rA   rC   r   r!   r6   ra   r   r   r   r    <module>   s   	
