U
    %‰dd!  ã                   @   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   ú6/tmp/pip-unpacked-wheel-vp0hp2u_/PIL/PdfImagePlugin.pyÚ	_save_all)   s    r   Fc           $      C   sZ  | j  dd¡}|r$tj||dd}ntj||dd}| j  dd¡}|rJd ntj tj |¡¡d d d d d d |rrd nt ¡ |r€d nt ¡ d	œ}| 	¡ D ]D\}}	|| j kr²| 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k
r‚   Y nX ||7 }t|ƒD ]F}| | d¡¡ | | d¡¡ | | d¡¡ |j |d ¡ q”qT| ¡  d}|D ]>}|rt |¡n|g}|D ]} d}d }d }| j\}}| jdkr~t d¡rjd}d
}t t  dd||dœ¡g¡}nd}t !d¡}d}nÄ| jdkržd}t !d¡}d}n¤| jdkrÚd}|  "¡ }t !d¡t !d¡dt #|¡g}d}nh| jdkrúd}t !d¡}d }nH| jd!kr.d}t !d"¡}d }d
dd
dd
dd
dg}nd#| j› } t$| ƒ‚t% &¡ }!|dkrvt' (| |!d$d%| j d| jfg¡ nº|dkr¦| j)|!d&d't* +| j,d ¡| j- d( nŠ|dkrÄt.j/d) | |!|ƒ nl|d*krðt' (| |!d+d%| j d| jfg¡ n@|d,krt' (| |!d-d%| j d| jfg¡ nd.|› d/} t$| ƒ‚|! 0¡ }"|dkrb|"dd … }"t t !|¡g¡}n
t !|¡}|j1|| |"t !d0¡t !d1¡|||||||d2 |j2|| tj t !d3¡t !|¡gtj || d4d5dd|d | |d | g|| d6 d7|d | |d | f }#|j1|| |#d8 |d
7 }qqð| 3¡  t4|d9ƒrN| 5¡  | 6¡  d S ):NÚappendFzr+b)Úfr   Úmodezw+bÚ
resolutiong      R@r   )ÚtitleÚauthorÚsubjectÚkeywordsZcreatorZproducerZcreationDateZmodDater   zcreated by Pillow z PDF driverÚappend_imageséÿÿÿÿé   Ú1ZlibtiffZCCITTFaxDecodeT)ÚKZBlackIs1ZColumnsZRowsZ	DCTDecodeZ
DeviceGrayZImageBÚLÚPZASCIIHexDecodeZIndexedZ	DeviceRGBéÿ   ZImageIZRGBZImageCZCMYKZ
DeviceCMYKzcannot save mode Úhex)r   r   ZTIFFZgroup4)ÚcompressionZ
strip_sizeZJPEGZFlateDecodeÚzipZRunLengthDecodeZpackbitszunsupported PDF filter (ú)ÚXObjectr   )
ÚstreamÚTypeZSubtypeZWidthZHeightÚFilterZBitsPerComponentZDecodeZDecodeParmsZ
ColorSpaceÚPDF)Úimage)ZProcSetr%   )Z	ResourcesZMediaBoxZContentss   q %f 0 0 %f 0 0 cm /image Do Q
)r&   Úflush)7ZencoderinfoÚgetr   ÚosÚpathÚsplitextÚbasenameÚtimeÚgmtimeÚitemsÚinfoÚupperÚloadZstart_writingZwrite_headerZwrite_commentr   Úcopyr   Zn_framesÚAttributeErrorÚrangeZnext_object_idZpagesZwrite_catalogr   ÚIteratorÚsizer   r   ÚcheckZPdfArrayZPdfDictZPdfNameZ
getpaletteZ	PdfBinaryÚ
ValueErrorÚioÚBytesIOr   r
   ÚsaveÚmathÚceilÚwidthÚheightr   ZSAVEÚgetvalueZ	write_objZ
write_pageZwrite_xref_and_trailerÚhasattrr+   Úclose)$r   r   r   r	   Zis_appendingZexisting_pdfr   r4   ÚkÚdefaultÚvZimsr   Z	append_imZnumber_of_pagesZ
image_refsZ	page_refsZcontents_refsZim_number_of_pagesÚiZpage_numberZim_sequenceZim_pagesÚbitsÚparamsÚdecoderC   rD   ÚfilterZ
colorspaceZprocsetZpaletteÚmsgÚopr&   Zpage_contentsr   r   r   r
   1   s8   ÿö 



üÿÿÿ

ü


"
û

"
"

õþ

üô

þr
   r)   z.pdfzapplication/pdf)F)r>   rA   r-   r1   Ú r   r   r   r   r   r   r   r
   Zregister_saveZregister_save_allZregister_extensionZregister_mimer   r   r   r   Ú<module>   s    
 \