
    ?pj%                        S SK r S SKrS SKrS SKrS SKrS SKrS SKJr  S SKrSSK	J
r
JrJrJrJrJrJrJrJrJrJrJrJr  SSKJrJrJrJrJrJrJrJrJ r J!r!  SSK"J#r#  SSK$J%r%  SSK&J'r'  S	 r(S
 r)S r*S r+S r,S r-S r.S r/S r0S r1g)    N)Thread   )ChartParsingDocImgOrientationClassificationDocVLMFormulaRecognitionLayoutDetectionSealTextDetectionTableCellsDetectionTableClassificationTableStructureRecognitionTextDetectionTextImageUnwarping!TextLineOrientationClassificationTextRecognition)
DocPreprocessorDocUnderstandingFormulaRecognitionPipeline	PaddleOCRPaddleOCRVLPPChatOCRv4DocPPDocTranslationPPStructureV3SealRecognitionTableRecognitionPipelineV2)version)CLIDeprecationWarning)loggerc           
          [         [        [        [        [        [
        [        [        [        [        4
 H=  nUR                  5       nUR                  U 5      nUR                  UR                  S9  M?     g Nexecutor)r   r   r   r   r   r   r   r   r   r   get_cli_subcommand_executoradd_subparserset_defaultsexecute_with_args
subparsersclssubcommand_executor	subparsers       J/var/www/html/pdf-tiff/venv/lib/python3.13/site-packages/paddleocr/_cli.py_register_pipelinesr-   9   se    "" "==?'55jA	(;(M(MN    c                    [         [        [        [        [        [
        [        [        [        [        [        [        [        4 H=  nUR                  5       nUR                  U 5      nUR                  UR                   S9  M?     g r    )r   r   r   r   r	   r
   r   r   r   r   r   r   r   r#   r$   r%   r&   r'   s       r,   _register_modelsr0   K   sn    '!) "==?'55jA	(;(M(MN#r.   c                 x    S nU R                  S5      nUR                  S[        / SQS9  UR                  US9  g )Nc                     SU R                    3n [        R                  " SSU/5        [        R                  " / SQ5        g ! [        R                   a    [        R
                  " S5         g f = f)Nzhpi-paddlex	--install)r3   r4   paddle2onnxFailed to install dependencies)variant
subprocess
check_callCalledProcessErrorsysexit)argshpips     r,   _install_hpi_deps=_register_install_hpi_deps_command.<locals>._install_hpi_depsa   s]    dll^$	7!!9k4"@A!!"IJ,, 	7HH56	7s   1A *A0/A0install_hpi_depsr7   )cpugpunputypechoicesr!   
add_parseradd_argumentstrr%   )r(   r?   r+   s      r,   "_register_install_hpi_deps_commandrL   `   sB    7 %%&89I938MN$56r.   c                 x    S nU R                  S5      nUR                  S[        / SQS9  UR                  US9  g )Nc                      [         R                  " SSSU R                   S3/5        g ! [         R                   a    [        R
                  " S5         g f = f)Nr3   r4   zgenai-z-serverr6   )r8   r9   r7   r:   r;   r<   r=   s    r,   _install_genai_server_depsO_register_install_genai_server_deps_command.<locals>._install_genai_server_depso   sP    	7!!K6$,,w)GH ,, 	7HH56	7s   '* *AAinstall_genai_server_depsr7   )vllmsglang
fastdeployrE   r!   rH   )r(   rP   r+   s      r,   +_register_install_genai_server_deps_commandrV   n   sI    7 %%&ABI%E   $>?r.   c                    ^^  SSK JnJm  S mUU4S jnU" 5       nU R	                  SU/SS9nUR                  US9  g ! [         a     g f = f)	Nr   )get_arg_parserrun_genai_serverc                 d   U S:X  a  Sn   [         R                  " SU  SU S3SS9nUR                  S:X  a  O [        R                  " S5        MG  S	U S
U  SU S3n[        R                  " U5        g ! [         R                  R                  [         R                  R
                  4 a     Nuf = f)Nz0.0.0.0	localhostzhttp://:z/healthr   )timeout   zThe PaddleOCR GenAI server has been started. You can either:
    1. Set the server URL in the module or pipeline configuration and call the PaddleOCR CLI or Python API. For example:
        paddleocr doc_parser --input demo.png --vl_rec_backend z#-server --vl_rec_server_url http://zK/v1
    2. Make HTTP requests directly, or using the OpenAI client library.)
requestsgetstatus_code
exceptionsConnectionErrorTimeouttimesleepr   info)hostportbackendrespprompts        r,   #_show_prompt_when_server_is_runningK_register_genai_server_command.<locals>._show_prompt_when_server_is_running   s    9D||gdV1TF'$BAN##s* + JJqM @@GyHklpkqqrswrx yHK 	F ''779L9L9T9TU s   ,A4 48B/.B/c                    > [        TU R                  U R                  U R                  4SS9R	                  5          T" U 5        g ! [
        R                   a    [        R                  " S5         g f = f)NT)targetr=   daemonzFailed to run the server)	r   rh   ri   rj   startr8   r:   r;   r<   )r=   rm   rY   s    r,   _run_genai_server9_register_genai_server_command.<locals>._run_genai_server   s_    6))TYY5	
 %'	1T",, 	1HH/0	1s   A *A32A3genai_serverresolve)parentsconflict_handlerr!   )paddlex.inference.genai.serverrX   rY   RuntimeErrorrI   r%   )r(   rX   rs   paddlex_parserr+   rm   rY   s        @@r,   _register_genai_server_commandr|   ~   sg    S"	1 $%N%% 09 & I $56G  s   ? 
AAc                    S nU R                  SSS9nUR                  SS[        SSS	9  UR                  S
S[        SSS	9  UR                  S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	                  US9  g)zRegister the doc2md subcommand.c                 n   U R                   (       a2  SSKJn  U" 5       n[        SSR	                  S U 5       5      -   5        g U R
                  (       d,  [        R                  " S5        [        R                  " S5        SSKJ
n  S	S
KJn  U R                  nU R                  n0 nU R                  (       a  SUS'   U R                   (       a  SUS'   U R"                  b  U R"                  US'   U R$                  b  U R$                  US'   [&        R&                  " 5       n U" U R
                  4SU0UD6n	[&        R&                  " 5       U-
  S-  nU(       d  [        R*                  " SUS S35        U(       aa  U(       dY  [        R*                  " SU 35        W	R,                  (       a.  [        R*                  " SU" U5      R.                  S-   S35        g g g [        W	R0                  5        g ! [(         a9  n
[        R                  " SU
 35        [        R                  " S5         S n
A
NS n
A
ff = f)Nr   )supported_formatszSupported formats: z, c              3   ,   #    U  H
  nS U 3v   M     g7f).N ).0fs     r,   	<genexpr>D_register_doc2md_command.<locals>._execute_doc2md.<locals>.<genexpr>   s     3JTasGTs   z---input is required when --formats is not set   )convertr   )PathFextract_drawingsextract_headers_footers
sheet_namemax_rowsoutputzConversion failed: i  zConversion done in z.0fz msz
Saved to: zImages saved to: images/)formats_doc2mdr   printjoininputr   errorr;   r<   r   pathlibr   r   quietno_drawingsno_headers_footersr   r   re   	Exceptionrg   r   parentmarkdown)r=   r   fmtsr   r   r   r   converter_kwargst1resulteelapseds               r,   _execute_doc2md1_register_doc2md_command.<locals>._execute_doc2md   s   <<2$&D'$))3JT3J*JJKzzLLHIHHQK$ 

 38/0"":?67??&-1__\*==$+/==Z(YY[	TZZKK:JKF
 99;#t+KK-gc]#>?j12==KK"3DL4G4G(4R3SST UV ! 
 &//"  	LL.qc23HHQKK	s   !G1 1
H4;/H//H4doc2mdz5Convert office documents (docx/xlsx/pptx) to Markdown)helpz-iz--inputNz#Input file path (.docx/.xlsx/.pptx))rF   defaultr   z-oz--outputz7Output Markdown file path (prints to stdout if omitted)z-qz--quiet
store_truezSuppress informational output)actionr   z	--formatszList supported formats and exitz--no-drawingsz<[docx/xlsx] Skip text box / drawing layer content extractionz--no-headers-footersz0[docx] Skip header and footer content extractionz--sheet-namez1[xlsx] Convert only the specified sheet (by name)z
--max-rowsz2[xlsx] Maximum number of rows to convert per sheetr!   )rI   rJ   rK   intr%   )r(   r   r+   s      r,   _register_doc2md_commandr      s=   .#` %%D & I 2   F   ,	   .   K  
 ?   @	   A	   O4r.   c                      SSK Jn  U" U 5        g )Nr   )register_api_command)_api_client.clir   )r(   r   s     r,   _register_api_commandr     s    5$r.   c                     [         R                  " SS9n U R                  SSSS[         3S9  U R	                  SS	S
9n[        U5        [        U5        [        U5        [        U5        [        U5        [        U5        [        U5        U $ )N	paddleocr)progz-vz	--versionr   z	%(prog)s )r   r   
subcommandCOMMAND)destmetavar)argparseArgumentParserrJ   r   add_subparsersr-   r0   rL   rV   r|   r   r   )parserr(   s     r,   _get_parserr     s    $$+6F
k)y	5J   &&L)&LJ
#Z &z2/
;":.Z(*%Mr.   c                 &    U R                  U 5        g )Nr!   rO   s    r,   _executer   )  s    MM$r.   c                  L   [         R                  " [        R                  5        [        R
                  " S[        S9  [        5       n U R                  5       nUR                  c5  U R                  [        R                  5        [        R                  " S5        [        U5        g )Nr   )categoryr   )r   setLevelloggingINFOwarningsfilterwarningsr   r   
parse_argsr   print_usager;   stderrr<   r   )r   r=   s     r,   mainr   -  sf    
OOGLL!I0EF]FD3::&TNr.   )2r   r   r8   r;   re   r   	threadingr   r_   _modelsr   r   r   r   r	   r
   r   r   r   r   r   r   r   
_pipelinesr   r   r   r   r   r   r   r   r   r   _versionr   _utils.deprecationr   _utils.loggingr   r-   r0   rL   rV   r|   r   r   r   r   r   r   r.   r,   <module>r      s       
           5 "O$O*7@ '7Th5V% r.   