o
    svXj#  ã                   @   s†   d dl Z d dlZd dlZd dlZddlmZmZmZmZm	Z	m
Z
 dd„ Zddd„Ze d	e¡ e d	e¡ e d	d
¡ e d	d¡ dS )é    Né   )ÚImageÚ	ImageFileÚImageSequenceÚ	PdfParserÚ__version__Úfeaturesc                 C   s   t | ||dd� d S )NT)Úsave_all)Ú_save)ÚimÚfpÚfilename© r   úO/var/www/html/myproject/venv/lib/python3.10/site-packages/PIL/PdfImagePlugin.pyÚ	_save_all)   s   r   Fc           &      C   s¤  | j  dd¡}|rtj||dd�}ntj||dd�}| j  d¡}|r+|d }|d }n	| j  d	d
¡ }}|r8d ntj tj |¡¡d d d d d d |rLd nt ¡ |rSd nt ¡ dœ}	|	 	¡ D ]"\}
}|
| j v rl| j  |
¡n|}|r||j
|
d  ¡ |
dd …  < q]|  ¡  | ¡  | ¡  | dt› d�¡ | g}|r±| j  dg ¡}|D ]}| j  ¡ |_ | |¡ q£d}g }g }g }|D ]@} d}|rÐz| j}W n	 tyÏ   Y nw ||7 }t|ƒD ]"}| | d¡¡ | | d¡¡ | | d¡¡ |j |d ¡ qØq»| ¡  d}|D �]¸}|�rt |¡n|g}|D �]¦} d}d }d }| j\}}| jdk�rKt d¡�rAd}d}t t  dd||dœ¡g¡}nd}t !d¡}d} nl| jdk�r[d}t !d¡}d} n\| jdk�ryd}|  "¡ }!t !d¡t !d¡dt #|!¡g}d} n>| jd k�r‰d}t !d¡}d!} n.| jd"k�r™d#}t !d¡}d!} n| jd$k�r­d}t !d%¡}d!} g d&¢}n
d'| j› �}"t$|"ƒ‚t% &¡ }#|dk�rÑt' (| |#d(d)| j d| jfg¡ nl|dk�ré| j)|#d*d+t* +| j,d ¡| j- d,� nT|dk�røt.j/d- | |#|ƒ nE|d#k�rt.j/d. | |#|ƒ n6|d/k�rt' (| |#d0d)| j d| jfg¡ n |d1k�r3t' (| |#d2d)| j d| jfg¡ n
d3|› d4�}"t$|"ƒ‚|# 0¡ }$|dk�rV|$dd … }$t t !|¡g¡}nt !|¡}|j1|| |$t !d5¡t !d6¡|||||||d7� |j2|| tj t !d8¡t !| ¡gtj || d9�d:�dd|d
 | |d
 | g|| d;� d<|d
 | |d
 | f }%|j1|| |%d=� |d7 }�q�q| 3¡  t4|d>ƒ�rÌ| 5¡  | 6¡  d S )?NÚappendFzr+b)Úfr   Úmodezw+bÚdpir   r   Ú
resolutiong      R@)ÚtitleÚauthorÚsubjectÚkeywordsÚcreatorÚproducerÚcreationDateÚmodDatezcreated by Pillow z PDF driverÚappend_imageséÿÿÿÿé   Ú1ÚlibtiffÚCCITTFaxDecodeT)ÚKÚBlackIs1ÚColumnsÚRowsÚ	DCTDecodeÚ
DeviceGrayÚImageBÚLÚPÚASCIIHexDecodeÚIndexedÚ	DeviceRGBéÿ   ÚImageIÚRGBÚImageCÚRGBAÚ	JPXDecodeÚCMYKÚ
DeviceCMYK)r   r   r   r   r   r   r   r   zcannot save mode Úhex)r   r   ÚTIFFÚgroup4)ÚcompressionÚ
strip_sizeÚJPEGÚJPEG2000ÚFlateDecodeÚzipÚRunLengthDecodeÚpackbitszunsupported PDF filter (ú)ÚXObjectr   )
ÚstreamÚTypeÚSubtypeÚWidthÚHeightÚFilterÚBitsPerComponentÚDecodeÚDecodeParmsÚ
ColorSpaceÚPDF)Úimage)ÚProcSetrD   )Ú	ResourcesÚMediaBoxÚContentss   q %f 0 0 %f 0 0 cm /image Do Q
)rE   Úflush)7ÚencoderinfoÚgetr   ÚosÚpathÚsplitextÚbasenameÚtimeÚgmtimeÚitemsÚinfoÚupperÚloadÚstart_writingÚwrite_headerÚwrite_commentr   Úcopyr   Ún_framesÚAttributeErrorÚrangeÚnext_object_idÚpagesÚwrite_catalogr   ÚIteratorÚsizer   r   ÚcheckÚPdfArrayÚPdfDictÚPdfNameÚ
getpaletteÚ	PdfBinaryÚ
ValueErrorÚioÚBytesIOr   r
   ÚsaveÚmathÚceilÚwidthÚheightr   ÚSAVEÚgetvalueÚ	write_objÚ
write_pageÚwrite_xref_and_trailerÚhasattrrU   Úclose)&r   r   r   r	   Úis_appendingÚexisting_pdfr   Úx_resolutionÚy_resolutionr_   ÚkÚdefaultÚvÚimsr   Ú	append_imÚnumber_of_pagesÚ
image_refsÚ	page_refsÚcontents_refsÚim_number_of_pagesÚiÚpage_numberÚim_sequenceÚim_pagesÚbitsÚparamsÚdecoderz   r{   ÚfilterÚ
colorspaceÚprocsetÚpaletteÚmsgÚoprE   Úpage_contentsr   r   r   r
   1   sX  
ÿö€
ýü


üÿÿÿ

ü




"
û


"
"

õþ

üô

þ �ñ r
   rO   z.pdfzapplication/pdf)F)ru   rx   rX   r\   Ú r   r   r   r   r   r   r   r
   Úregister_saveÚregister_save_allÚregister_extensionÚregister_mimer   r   r   r   Ú<module>   s    
 g