o
    jd                     @   sJ   d Z ddlZddlmZ G dd dZejZdd Zed	kr#e  dS dS )
z$Entry for ``pdf2docx`` command line.    N   )	Converterc                   @   s   e Zd ZdZe					ddededededed	efd
dZe					ddedededededefddZ	eddededed	efddZ
edd ZdS )PDF2DOCXz(Command line interface for ``pdf2docx``.Nr   pdf_file	docx_filepasswordstartendpagesc           	   
   K   s   t |tr|g}|dds$t|d d}|r|d8 }|r$dd |D }t| |}z9z|j||||fi | W n tyT } zt| |d rJ W Y d}~nd}~ww W |	  dS W |	  dS |	  w )	a  Convert pdf file to docx file.

        Args:
            pdf_file (str) : PDF filename to read from.
            docx_file (str, optional): docx filename to write to. Defaults to None.
            password (str): Password for encrypted pdf. Default to None if not encrypted.
            start (int, optional): First page to process. Defaults to 0.
            end (int, optional): Last page to process. Defaults to None.
            pages (list, optional): Range of pages, e.g. --pages=1,3,5. Defaults to None.
            kwargs (dict) : Configuration parameters.

        .. note::
            Refer to :py:meth:`~pdf2docx.converter.Converter.convert` for detailed description
            on above arguments.
        zero_based_indexTr   r   c                 S      g | ]}|d  qS r    .0ir   r   N/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/pdf2docx/main.py
<listcomp>%       z$PDF2DOCX.convert.<locals>.<listcomp>Zraw_exceptionsN)

isinstanceintgetmaxr   convert	Exceptionloggingerrorclose)	r   r   r   r   r	   r
   kwargscver   r   r   r   	   s&   

zPDF2DOCX.convertlayout.jsonpage	debug_pdflayout_filec                 K   sH   | ddst|d d}t| |}|j||||fi | |  dS )a  Convert one PDF page and plot layout information for debugging.

        Args:
            pdf_file (str) : PDF filename to read from.
            password (str): Password for encrypted pdf. Default to None if not encrypted.
            page (int, optional): Page index to convert.
            docx_file (str, optional): docx filename to write to.
            debug_pdf (str, optional): Filename for new pdf storing layout information.
                Defaults to same name with pdf file.
            layout_file (str, optional): Filename for new json file storing parsed layout data.
                Defaults to ``layout.json``.
            kwargs (dict)  : Configuration parameters.
        r   Tr   r   N)r   r   r   Z
debug_pager   )r   r   r"   r   r#   r$   r   r   r   r   r   debug2   s
   
zPDF2DOCX.debugc           	   
   K   s   t |tr|g}|dds$t|d d}|r|d8 }|r$dd |D }t| |}z5z|j|||fi |}W n tyP } zg }t| W Y d}~nd}~ww W |	  |S W |	  |S |	  w )a  Extract table content from pdf pages.

        Args:
            pdf_file (str) : PDF filename to read from.
            password (str): Password for encrypted pdf. Default to None if not encrypted.
            start (int, optional): First page to process. Defaults to 0.
            end (int, optional): Last page to process. Defaults to None.
            pages (list, optional): Range of pages, e.g. --pages=1,3,5. Defaults to None.
        r   Tr   r   c                 S   r   r   r   r   r   r   r   r   a   r   z"PDF2DOCX.table.<locals>.<listcomp>N)
r   r   r   r   r   Zextract_tablesr   r   r   r   )	r   r   r   r	   r
   r   r   Ztablesr    r   r   r   tableQ   s(   

zPDF2DOCX.tablec                  C   sJ   zddl m}  W n ty   td Y dS w | dddd}|  dS )	zSimple user interface.r   )Appz)GUI is not supported in current platform.zPDF_2_Docx Converteri  iX  )titlewidthheightN)Zgui.Appr'   r   r   r   Zmainloop)r'   Zappr   r   r   guio   s   zPDF2DOCX.gui)NNr   NN)Nr   NNr!   )Nr   NN)__name__
__module____qualname____doc__staticmethodstrr   listr   r%   r&   r+   r   r   r   r   r      sP    (r   c                  C   s   ddl } | t dS )zCommand line entry.r   N)fireZFirer   )r3   r   r   r   main   s   r4   __main__)	r/   r   	converterr   r   r   parser4   r,   r   r   r   r   <module>   s    w
