B
    ³è0\d   ã               @   sz   d dl mZmZmZmZ ddlZddlZddlZdZdd„ Z	ddd	„Z
e d
e
¡ e d
e	¡ e d
d¡ e d
d¡ dS )é   )ÚImageÚ	ImageFileÚImageSequenceÚ	PdfParseré    Nz0.5c             C   s   t | ||dd d S )NT)Úsave_all)Ú_save)ÚimÚfpÚfilename© r   ú1lib/python3.7/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¡}|rJd ntj tj |¡¡d d d d d d |rrd nt ¡ |r€d nt ¡ d	œ}xP| 	¡ D ]D\}}	|| j kr´| j  |¡n|	}
|
r–|
|j
|d  ¡ |d
d …  < q–W |  ¡  | ¡  | ¡  | dt ¡ | g}|rD| j  dg ¡}x$|D ]}| j  ¡ |_ | |¡ q$W d}g }g }g }x–|D ]Ž} d
}|rŠy
| j}W n tk
rˆ   Y nX ||7 }xRt|ƒD ]F}| | d¡¡ | | d¡¡ | | d¡¡ |j |d ¡ qœW qZW | ¡  d}xæ|D ]Ü}|rt |¡n|g}x¼|D ]²} d}d }| jdkrVd}t d¡}d}d
}n®| jdkrvd}t d¡}d}nŽ| jdkr¶d}| j d¡}t d¡t d¡dt |¡g}d}nN| jdkrÖd}t d¡}d}n.| jdkröd}t d¡}d}nt d| j ƒ‚t! "¡ }|dkrn|d
krL|  #dd¡}t$ %dt&|ƒd
fd ¡} |  '|¡ t( )| |d d!| j* d| jfg¡ n‚|dkrŒt$j+d" | ||ƒ nd|d#kr¸t( )| |d$d!| j* d| jfg¡ n8|d%krät( )| |d&d!| j* d| jfg¡ nt d'| ƒ‚| j*\}} |j,|| | -¡ t d(¡t d)¡|| t |¡|||d*
 |j.|| tj/t d+¡t |¡gtj/|| d,d-ddt0|d | ƒt0| d | ƒg|| d. t 1d/t0|d | ƒt0| d | ƒf ¡}!|j,|| |!d0 |d
7 }q$W q W | 2¡  t3|d1ƒrþ| 4¡  | 5¡  d S )2NÚappendFzr+b)Úfr   Úmodezw+bÚ
resolutiong      R@r   )ÚtitleZauthorZsubjectÚkeywordsZcreatorZproducerZcreationDateZmodDater   zcreated by PIL PDF driver Úappend_imageséÿÿÿÿé   Ú1ZASCIIHexDecodeZ
DeviceGrayZImageBÚLZ	DCTDecodeÚPZRGBZIndexedZ	DeviceRGBéÿ   ZImageIZImageCZCMYKZ
DeviceCMYKzcannot save mode %sÚrawÚhex)r   r   ZJPEGZFlateDecodeÚzipZRunLengthDecodeZpackbitszunsupported PDF filter (%s)ÚXObjectr   )	ÚstreamZTypeZSubtypeZWidthZHeightZFilterZBitsPerComponentZDecodeParamsZ
ColorSpaceÚPDF)Zimage)ZProcSetr   )Z	ResourcesZMediaBoxZContentszq %d 0 0 %d 0 0 cm /image Do Q
)r    Úflush)6ZencoderinfoÚgetr   ÚosÚpathÚsplitextÚbasenameÚtimeZgmtimeÚitemsÚinfoÚupperÚloadZstart_writingZwrite_headerZwrite_commentÚ__version__Úcopyr   Zn_framesÚAttributeErrorÚrangeZnext_object_idZpagesZwrite_catalogr   ÚIteratorr   ZPdfNamer	   Z
getpaletteZ	PdfBinaryÚ
ValueErrorÚioÚBytesIOÚtobytesr   ÚnewÚlenZputdatar   r   ÚsizeZSAVEZ	write_objÚgetvalueZ
write_pageZPdfDictÚintZ
make_bytesZwrite_xref_and_trailerÚhasattrr"   Úclose)"r	   r
   r   r   Zis_appendingZexisting_pdfr   r*   ÚkÚdefaultÚvZimsr   Z	append_imZnumberOfPagesZ
image_refsZ	page_refsZcontents_refsZim_numberOfPagesÚiZ
pageNumberZ
imSequenceZim_pagesÚbitsZparamsÚfilterZ
colorspaceZprocsetZpaletteÚopÚdataÚwidthZheightZpage_contentsr   r   r   r   1   sþ    "









"

"





r   r!   z.pdfzapplication/pdf)F)Ú r   r   r   r   r3   r$   r(   r-   r   r   Zregister_saveZregister_save_allZregister_extensionZregister_mimer   r   r   r   Ú<module>   s   
 A