
    ?pj,                         S SK r S SKrSSKJr  SSKJr  SSKJrJrJ	r	J
r
JrJr  S rS rS	\S
\4S jrS
\4S jrS
\4S jrg)    N   )str2bool   )PaddleOCRClient)Model
OCROptionsPaddleOCRVLOptionsPPStructureV3Optionsis_ocr_modelis_vl_modelc           	      8   U R                  SSS9nUR                  S[        SSS/SS	9  UR                  S
[        S[         Vs/ s H  o"R                  PM     snSS9  UR                  S[        SSS9  UR                  S[        SSS9  UR                  S[        SSS9  UR                  S[        SSS9  UR                  S[        SSS9  UR                  S[        SSS9  UR                  S[
        SSS9  UR                  S[
        SS S9  UR                  S![        SS"S9  UR                  S#S$S%S&9  UR                  S'[        SS(S9  UR                  S)[        SS*S9  UR                  S+[        SS,S9  UR                  S-[        SS.S9  UR                  S/[        SS0S9  UR                  S1[        SS2S9  UR                  S3[        SS4S5/S6S9  UR                  S7[
        SS8S9  UR                  S9[        SS:S9  UR                  S;[        SS<S9  UR                  S=[        SS>S9  UR                  S?[        SS@S9  UR                  SA[        SSBS9  UR                  SC[        SSDS9  UR                  SE[        SSFS9  UR                  [        SG9  gs  snf )Hz1Register the 'api' subcommand into paddleocr CLI.apiz4Call PaddleOCR cloud API for OCR or document parsing)helpz--model_typeTocrdoc_parsingzTask type: ocr or doc_parsing)typerequiredchoicesr   z--modelNzModel name.)r   defaultr   r   z
--file_urlzURL of the file to process)r   r   r   z--file_pathzLocal file path to processz
--base_urlz%Base URL of the PaddleOCR API servicez--tokenz9Access token (or set PADDLEOCR_ACCESS_TOKEN env variable)z--client_platformz,Value for the Client-Platform request headerz--outputz3Output JSON file path (prints to stdout if omitted)z--request_timeoutg     r@z'Timeout in seconds for one HTTP requestz--poll_timeoutg     @z9Total timeout in seconds while waiting for the remote jobz--save_resourcesz7Directory for saving resources referenced by the resultz--overwrite_resources
store_truez.Overwrite existing files when saving resources)actionr   z--page_rangesz)Page ranges to parse, for example "2,4-6"z
--batch_idz3Optional batch identifier for querying related jobsz--use_doc_orientation_classifyz7Enable document orientation classification (True/False)z--use_doc_unwarpingz&Enable document unwarping (True/False)z--use_textline_orientationz:Enable textline orientation detection for OCR (True/False)z--text_det_limit_side_lenz*Image side length limit for text detectionz--text_det_limit_typeminmaxz"Side length limit type: min or maxz--text_rec_score_threshz,Score threshold for text recognition resultsz--use_layout_detectionz9Enable layout detection for document parsing (True/False)z--use_seal_recognitionz9Enable seal recognition for document parsing (True/False)z--use_table_recognitionz8Enable table recognition for PP-StructureV3 (True/False)z--use_formula_recognitionz:Enable formula recognition for PP-StructureV3 (True/False)z--use_chart_recognitionz:Enable chart recognition for document parsing (True/False)z--visualizez/Enable result visualization images (True/False)z--prettify_markdownz@Enable markdown prettification for document parsing (True/False))executor)

add_parseradd_argumentstrr   valuefloatr   intset_defaults_execute_api)
subparsers	subparserms      U/var/www/html/pdf-tiff/venv/lib/python3.13/site-packages/paddleocr/_api_client/cli.pyregister_api_commandr'      s   %%C & I &,   "'(%Q%(   )	   )	   4	   H	   ;	   B	   6	   H	   F	   =  
 8	   B	   (F	   5	   $I	   #9	   1   !;	    H	    H	   !G	   #I	   !I	   >	   O	   L1} )s   Jc                 	   0 nU R                   (       a  U R                   US'   U R                  (       a  U R                  US'   U R                  US'   U R                  US'   U R                  (       a  U R                  US'    [        S0 UD6n U R                  (       a  [        U R                  5      OS nU R                  S	:X  Ga  UbL  [        U5      (       d<  [        S
UR                   S3[        R                  S9  [        R                  " S5        [!        U R"                  U R$                  U R&                  U R(                  U R*                  U R,                  U R.                  S9nWR1                  U R2                  U R4                  UU R6                  U R8                  U=(       d    [:        R<                  S9n[?        U5      nUR@                  nGOcUc  [:        RB                  n[E        U5      (       aV  [G        U R"                  U R$                  U RH                  U RJ                  U RL                  U RN                  U R.                  S9nO[Q        U R"                  U R$                  U R&                  U RH                  U RJ                  U RR                  U RT                  U RL                  U R(                  U R*                  U R,                  U RN                  U R.                  S9nWRW                  UU R2                  U R4                  UU R6                  U R8                  S9n[Y        U5      nURZ                  n[\        R^                  " USSS9n	U R`                  (       aN  U" UU R`                  U Rb                  S9n
[        SU R`                   S[e        U
5       S3[        R                  S9  U Rf                  (       aH  [i        U Rf                  SSS9 nURk                  U	5        S S S 5        [        SU Rf                   35        O[        U	5         WRm                  5         g ! [         a<  n[        SU 3[        R                  S9  [        R                  " S5         S nAGNS nAff = f! , (       d  f       N= f! [         a;  n[        SU 3[        R                  S9  [        R                  " S5         S nANS nAff = f! WRm                  5         f = f)Ntokenbase_urlrequest_timeoutpoll_timeoutclient_platformzError: filer   r   z!Error: OCR task does not support .r   )use_doc_orientation_classifyuse_doc_unwarpinguse_textline_orientationtext_det_limit_side_lentext_det_limit_typetext_rec_score_thresh	visualize)file_url	file_pathoptionspage_rangesbatch_idmodel)r1   r2   use_chart_recognitionuse_seal_recognitionuse_layout_detectionprettify_markdownr7   )r1   r2   r3   r>   r?   use_table_recognitionuse_formula_recognitionr@   r4   r5   r6   rA   r7   )r=   r8   r9   r:   r;   r<   F)ensure_asciiindent)	overwritezResources saved to: z (z files)wzutf-8)encodingzResult saved to:  )7r)   r*   r+   r,   r-   r   	Exceptionprintsysstderrexitr=   _resolve_model
model_typer   r   r   r1   r2   r3   r4   r5   r6   r7   r   r8   r9   r;   r<   r   PP_OCRV6_ocr_result_to_dictsave_ocr_result_resourcesPADDLE_OCR_VL_16r   r	   r>   r?   r@   rA   r
   rB   rC   parse_document_doc_parsing_result_to_dict&save_document_parsing_result_resourcesjsondumpssave_resourcesoverwrite_resourceslenoutputopenwriteclose)argskwargsclienter=   r:   resultr]   rZ   json_strsaved_pathsfs               r&   r"   r"      s   Fzz**w}}!]]z $ 4 4F!..F>$($8$8 ! *6*
].2jjtzz*d??e# e)<)<7}AF  -1-N-N"&"8"8)-)F)F(,(D(D$($<$<&*&@&@..G ZZ.. ,,-u~~   F )0F#==N}..5!!,151R1R&*&<&<*.*D*D)-)B)B)-)B)B&*&<&<"nn /151R1R&*&<&<-1-J-J*.*D*D)-)B)B*.*D*D,0,H,H)-)B)B,0,H,H(,(@(@*.*D*D&*&<&<"nn **.. ,, + F 18F#JJN::f5C(##22K
 &t':':&;2c+>N=OwWZZ
 ;;dkk39Q! :%dkk]34(O 	C  sm#**-n :9  sm#**- 	sm   P% MQ? Q.' Q? S Q? S %
Q+/1Q&&Q+.
Q<8Q? ?
S	1R?:S ?SS S	model_strreturnc           
           [        U 5      $ ! [         aQ    [        SU  SSR                  S [          5       5       3[        R
                  S9  [        R                  " S5         g f = f)NzError: Unknown model 'z'. Choose from: z, c              3   8   #    U  H  oR                   v   M     g 7f)N)r   ).0r%   s     r&   	<genexpr>!_resolve_model.<locals>.<genexpr>G  s     %=u!ggus   r.   r   )r   
ValueErrorrK   joinrL   rM   rN   )ri   s    r&   rO   rO   A  sd    Y $YK 0 II%=u%==>@	

 	s   
 AA('A(c                     U R                   U R                   Vs/ s H  nUR                  UR                  S.PM     snS.$ s  snf )N)prunedResultocrImageUrljobIdpages)job_idrw   pruned_resultocr_image_urlre   pages     r&   rR   rR   M  sQ     

 % !% 2 2#11 %
	 	
s   #Ac                     U R                   U R                   Vs/ s H'  nUR                  UR                  UR                  S.PM)     snS.$ s  snf )N)markdownTextmarkdownImagesoutputImagesru   )rx   rw   markdown_textmarkdown_imagesoutput_imagesr{   s     r&   rV   rV   Z  sZ     
 %	 !% 2 2"&"6"6 $ 2 2
 %

 

s   .A)rX   rL   
_utils.clir   rc   r   modelsr   r   r	   r
   r   r   r'   r"   r   rO   dictrR   rV   rI       r&   <module>r      sV     
 ! # o2dnb	c 	e 	
4 
4 r   