HEX
Server: Apache
System: Linux srv1.prosuiteplus.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: prosuiteplus (1001)
PHP: 8.3.20
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/pdfminer/__pycache__/pdfdevice.cpython-38.pyc
U

�R�]��@sTddlZddlmZddlmZGdd�de�ZGdd�de�ZGd	d
�d
e�ZdS)�N�)�PDFUnicodeNotDefined)�utilsc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd"dd�Z	dd�Z
d#dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zd d!�Zd
S)$�	PDFDevicecCs||_d|_dS�N)�rsrcmgr�ctm)�selfr�r
�4/usr/lib/python3/dist-packages/pdfminer/pdfdevice.py�__init__
szPDFDevice.__init__cCsdS)Nz<PDFDevice>r
�r	r
r
r�__repr__szPDFDevice.__repr__cCs|Srr
r
r
r
r�	__enter__szPDFDevice.__enter__cCs|��dSr)�close)r	�exc_typeZexc_val�exc_tbr
r
r�__exit__szPDFDevice.__exit__cCsdSrr
r
r
r
rrszPDFDevice.closecCs
||_dSr)r)r	rr
r
r�set_ctmszPDFDevice.set_ctmNcCsdSrr
�r	�tag�propsr
r
r�	begin_tag"szPDFDevice.begin_tagcCsdSrr
r
r
r
r�end_tag%szPDFDevice.end_tagcCsdSrr
rr
r
r�do_tag(szPDFDevice.do_tagcCsdSrr
)r	�pagerr
r
r�
begin_page+szPDFDevice.begin_pagecCsdSrr
�r	rr
r
r�end_page.szPDFDevice.end_pagecCsdSrr
)r	�nameZbbox�matrixr
r
r�begin_figure1szPDFDevice.begin_figurecCsdSrr
)r	rr
r
r�
end_figure4szPDFDevice.end_figurecCsdSrr
)r	�graphicstateZstrokeZfillZevenodd�pathr
r
r�
paint_path7szPDFDevice.paint_pathcCsdSrr
)r	r�streamr
r
r�render_image:szPDFDevice.render_imagecCsdSrr
)r	�	textstate�seq�ncsr#r
r
r�
render_string=szPDFDevice.render_string)N)N)�__name__�
__module__�__qualname__rrrrrrrrrrrr!r"r%r'r+r
r
r
rrs 

rc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�
PDFTextDevicec
Cs�t�|j|j�}|j}|j}|jd}|j|}	|j|}
|j	}|�
�rLd}
d||}|��r�|�|||j
||||	|
||||�|_
n$|�|||j
||||	|
||||�|_
dS)Ng{�G�z�?rg����MbP?)rZmult_matrixr r�font�fontsize�scaling�	charspace�	wordspace�riseZis_multibyteZis_vertical�render_string_verticalZ
linematrix�render_string_horizontal)
r	r(r)r*r#r r0r1r2r3r4r5�dxscaler
r
rr+EsP


��zPDFTextDevice.render_stringc

Cs�|\}
}d}|D]|}t�|�r0|
||
8}
d}q|�|�D]P}|rJ|
|7}
|
|�t�||
|f�||||	|||�7}
|dkr�|r�|
|7}
d}q:q|
|fS�NFT� �rZisnumber�decode�render_charZtranslate_matrix�r	r)r �posr0r1r2r3r4r5r8r*r#�x�yZ
needcharspace�obj�cidr
r
rr7Zs,
�z&PDFTextDevice.render_string_horizontalc

Cs�|\}
}d}|D]|}t�|�r0|||
8}d}q|�|�D]P}|rJ||7}||�t�||
|f�||||	|||�7}|dkr�|r�||7}d}q:q|
|fSr9r;r>r
r
rr6os,
�z$PDFTextDevice.render_string_verticalc		CsdS�Nrr
)	r	r r0r1r2r5rCr*r#r
r
rr=�szPDFTextDevice.render_charN)r,r-r.r+r7r6r=r
r
r
rr/Csr/c@sJeZdZddd�Zdd�Zdd�Zdd	�Zddd�Zd
d�Zddd�Z	d
S)�TagExtractor�utf-8cCs(t�||�||_||_d|_g|_dSrD)rr�outfp�codec�pageno�_stack)r	rrGrHr
r
rr�szTagExtractor.__init__c
Cs�|j}d}|D]p}t|tj�r(t�|�}t|tj�s6q|�|�}|D]8}	z|�|	�}
||
7}WqDt	k
rzt
|�YqDXqDq|j�t�
||j��dS)N�)r0�
isinstance�sixZ	text_typer�make_compat_bytesZbinary_typer<Z	to_unichrr�printrG�write�encrH)r	r(r)r*r#r0�textrB�charsrC�charr
r
rr+�s"



zTagExtractor.render_stringcCs0d|jt�|j�|jf}|j�t�|��dS)Nz$<page id="%s" bbox="%s" rotate="%d">)rIrZbbox2strZmediabox�rotaterGrPrN)r	rr�outputr
r
rr�szTagExtractor.begin_pagecCs$|j�t�d��|jd7_dS)Nz</page>
r)rGrPrrNrIrr
r
rr�szTagExtractor.end_pageNcCsbd}t|t�r,d�dd�tt�|��D��}dt�|j�|f}|j	�
t�|��|j�
|�dS)NrKcss.|]&\}}dt�|�t�t|��fVqdS)z %s="%s"N)rrQ�str)�.0�k�vr
r
r�	<genexpr>�sz)TagExtractor.begin_tag.<locals>.<genexpr>z<%s%s>)rL�dict�join�sortedrMZ	iteritemsrrQrrGrPrNrJ�append)r	rr�s�out_sr
r
rr�s

�zTagExtractor.begin_tagcCsF|jstt|j���|j�d�}dt�|j�}|j�	t�
|��dS)N���z</%s>)rJ�AssertionErrorrWrI�poprrQrrGrPrN)r	rrar
r
rr�s
zTagExtractor.end_tagcCs|�||�|j�d�dS)Nrb)rrJrdrr
r
rr�szTagExtractor.do_tag)rF)N)N)
r,r-r.rr+rrrrrr
r
r
rrE�s


rE)	rMZpdffontrrKr�objectrr/rEr
r
r
r�<module>s
8G