
    Eik                     n    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 Zd
dZd	 Zy)    )OrderedDictN)	add_inputadd_n_digits	get_input
round_listiterator_hasvalueposimginfotextc                 @   t        | d       t        |        t        t        j                  j                               }| j                  ddd|d|        | j                  dt        d	d
       | j                  ddt        j                  t        t        d       y )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_typess     Q/home/agent/.friday_env/lib/python3.12/site-packages/pypdfium2_cli/pageobjects.pyattachr#      s    fD! h005579I
3I;?   X	   yy(      c           
         t        | j                  | j                  t        | j                  |      t        | j
                  |      | j                  t        j                  j                  | j                              }| j                  dk7  r| j                  |d<   |j                         D ]  \  }}t        || d| z           y )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values         r"   print_img_metadatar9   6   s    q//:Q^^X6))--11!,,?G 	b '(':':#$mmo '
Ucse2eW%%&'r$   c                    t        |       }| j                  r0| j                  D cg c]  }t        j                  |    c}| _        t        | j
                  v }t        | j
                  v }t        | j
                  v }t        |||f      sJ d}| j                  D ]L  }||   }|r|j                         nd }	t        |j                  | j                  | j                  |	            \  }
}|
sTt        d|dz           d}|D ]  }d|j                  z  }|dz   }t        |t        j                   j#                  |j$                        z          |rt'        |j)                         | j*                        }t        |d| z          t-        |t.        j0                  t.        j2                  f      rC|j5                         }t        |d|D cg c]  }t'        || j*                         c} z          |rt-        |t.        j0                        rst        |d|j7                          z          |j9                         }|j:                  |j<                  f|j?                         k(  sJ tA        || j*                  |	       nA|r?t-        |t.        j2                        r%t        |tC        |jE                               z          |dz  } |dkD  s9t        d
| d       ||z  }O |dkD  rt        d|        y y c c}w c c}w )Nr   )	max_depthtextpagez# Page    z    zBounding Box: zQuad Points: z	Filters: )r5   z
-> Count: 
z-> Total count: )#r   filterr   r   	PARAM_POSinfoPARAM_IMGINFO
PARAM_TEXTanyr   get_textpager   get_objectsr;   r2   levelObjectTypeToStrr0   r   r   
get_boundsr4   
isinstancepdfiumPdfImage
PdfTextObjget_quad_pointsget_filtersget_metadatar&   r'   get_px_sizer9   reprextract)argspdftshow_posshow_imginfo	show_texttotal_countipager<   hasvalueobj_searchercountobjpad_0pad_1boundsquad_boundspmetadatas                       r"   mainrg   G   s   
D/C {{>BkkJx11!4JDII%H DII-Ldii'I,	2333KZZ $!1v*34$$&!2D4D4DT[[\`\j\ju}4D4~  "A,!uo 	CSYY&EFNE%(2266sxx@@A#CNN$4dmmDevh778cFOOV5F5F#GH"%"5"5"7K%MYd2eTU:a3O2e1f"ggh
3 @e	#//*;)<==>++- 8COO<MMMM"8T]]Fz#v/@/@Aed3;;=112QJE-	0 19JugR()5 KI$!L Q ./ ] K: 3fs   LL) )collectionsr   pypdfium2._helpers_helpersrK   pypdfium2.internalinternalr   pypdfium2_cli._parsersr   r   r   r   r   r@   rB   rC   r   r#   r9   rg    r$   r"   <module>rp      sF    $ # %  	
-4<'"50r$   