o
    g#                     @   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   P/home/ubuntu/cloudmapper/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  |_ || 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 ]}|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rd}t!d}d!} n.| jd"krd#}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 nl|dkr| j)|#d*d+t*+| j,d | j- d, nT|dkrt.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