o
    e  ã                   @   sD   d Z ddlZddlmZ ddlmZ ddlmZ G dd	„ d	eƒZdS )
z8Collection of :py:class:`~pdf2docx.page.Page` instances.é    Né   )ÚRawPageFactoryé   )ÚBaseCollection)ÚFontsc                   @   s*   e Zd ZdZdd„ Zedefdd„ƒZdS )ÚPageszA collection of ``Page``.c                 K   s  t  |¡}g g }}d}| D ]J}|jrqtj||j dd}|jdi |¤Ž |s/|j ¡ r/d}|j	di |¤Ž | 
|¡ |j|_|j|_|j ¡  |jj¡ | |¡ | |¡ q|s`t d¡ t |¡\}	}
t||ƒD ] \}}|jdi |¤Ž}| |_|_|jdi |¤Ž}|j |¡ qldS )zÌAnalyse document structure, e.g. page section, header, footer.

        Args:
            fitz_doc (fitz.Document): ``PyMuPDF`` Document instance.
            settings (dict): Parsing parameters.
        FZPyMuPDF)Zpage_engineÚbackendTzFWords count: 0. It might be a scanned pdf, which is not supported yet.N© )r   ÚextractZskip_parsingr   ÚcreateÚidÚrestoreZraw_textÚstripZclean_upZprocess_fontÚwidthÚheightZfloat_imagesÚresetÚextendÚblocksZfloating_image_blocksÚappendÚloggingÚwarningr   Ú_parse_documentÚzipZcalculate_marginÚmarginZparse_sectionÚsections)ÚselfZfitz_docÚsettingsZfontsZpagesÚ	raw_pagesZwords_foundÚpageZraw_pageÚheaderÚfooterr   r   r	   r	   úCD:\Projects\ConvertPro\env\Lib\site-packages\pdf2docx/page/Pages.pyÚparse   s2   





	ùzPages.parser   c                 C   s   dS )z<Parse structure in document/pages level, e.g. header, footer)Ú r#   r	   )r   r	   r	   r!   r   V   s   zPages._parse_documentN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r"   ÚstaticmethodÚlistr   r	   r	   r	   r!   r      s
    Gr   )r'   r   r   Zcommon.Collectionr   Z
font.Fontsr   r   r	   r	   r	   r!   Ú<module>   s   