o
    id!                     @   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   M/var/www/edux/Edux_v2/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d}|r%d ntjtj|d d d d d d |r9d nt |r@d nt d	}|	 D ]"\}}	|| j v rY| j |n|	}
|
rl|
|j
|d  |d
d   < qJ|   |  |  |dt d | g}|r| j dg }|D ]}| j  |_ || qd}g }g }g }|D ]@} d
}|rz| j}W n	 ty   Y nw ||7 }t|D ]"}||d ||d ||d |j|d  qq|  d}|D ]}|rt|n|g}|D ]} d}d }d }| j\}}| jdkr7tdr-d}d
}tt dd||dg}nd}t!d}d}n\| jdkrGd}t!d}d}nL| jdkred}| " }t!dt!ddt#|g}d}n.| jdkrud}t!d}d }n| jd!krd}t!d"}d }g d#}n
d$| j } t$| t%& }!|dkrt'(| |!d%d&| j d| jfg n]|dkr| j)|!d'd(t*+| j,d | j- d) nE|dkrt.j/d* | |!| n6|d+krt'(| |!d,d&| j d| jfg n |d-kr t'(| |!d.d&| j d| jfg n
d/| d0} t$| |!0 }"|dkr#|"dd  }"tt!|g}nt!|}|j1|| |"t!d1t!d2|||||||d3 |j2|| tj t!d4t!|gtj || d5d6dd|d | |d | g|| d7 d8|d | |d | f }#|j1|| |#d9 |d
7 }q q|3  t4|d:r|5  |6  d S );NappendFzr+b)fr   modezw+b
resolutiong      R@r   )titleauthorsubjectkeywordscreatorproducercreationDatemodDater   z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CMYK
DeviceCMYK)r   r   r   r   r   r   r   r   zcannot save mode hex)r   r   TIFFgroup4)compression
strip_sizeJPEGFlateDecodezipRunLengthDecodepackbitszunsupported PDF filter ()XObjectr   )
streamTypeSubtypeWidthHeightFilterBitsPerComponentDecodeDecodeParms
ColorSpacePDF)image)ProcSetr@   )	ResourcesMediaBoxContentss   q %f 0 0 %f 0 0 cm /image Do Q
)rA   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hasattrrQ   close)$r   r   r   r	   is_appendingexisting_pdfr   r[   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decoderv   rw   filter
colorspaceprocsetpalettemsgoprA   page_contentsr   r   r   r
   1   sD  









"


"
"





  r
   rK   z.pdfzapplication/pdf)F)rq   rt   rT   rX    r   r   r   r   r   r   r   r
   register_saveregister_save_allregister_extensionregister_mimer   r   r   r   <module>   s    
 \