3

Z                 @   sj   d dl mZmZmZmZ ddlZdZdd Zddd	Zej	d
e ej
d
e ejd
d ej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   4/usr/lib/python3/dist-packages/PIL/PdfImagePlugin.py	_save_all(   s    r   Fc       #      C   s  | j jdd}| j jdd}| j jdd }| j jdd }| j jdd }| j jdd }	| j jd	d }
| j jd
d }|rtj||dd}ntj||dd}|r||j_|r||j_|r||j_|	r|	|j_|
r|
|j_|r||j_	| j
  |j  |j  |jdt  | g}|rD| j jdg }x$|D ]}| j j |_ |j| q$W d}g }g }g }x|D ]} d}|ry
| j}W n tk
r   Y nX ||7 }xRt|D ]F}|j|jd |j|jd |j|jd |jj|d5  qW qZW |j  d}x|D ]}xtj|D ]} d}d }| jdkrFd}tjd}d}d}n| jdkrfd}tjd}d}n| jdkrd}| jjd}tjdtjddtj|g}d}nN| jdkrd}tjd}d}n.| jd krd}tjd!}d}ntd"| j tj  }|dkr^|dkr<| j!d#d}t"j#dt$|dfd } | j%| t&j'| |d$d6| j( d| jfg n|dkr|t"j)d% | || nd|d&krt&j'| |d'd7| j( d| jfg n8|d(krt&j'| |d)d8| j( d| jfg ntd*| | j(\} }!|j*|| |j+ tjd+tjd,| |!tj||||d-
 |j,|| tj-tjd.tj|gtj-|| d/d0ddt.| d | t.|!d | g|| d1 tj/d2t.| d | t.|!d | f }"|j*|| |"d3 |d7 }qW q W |j0  t1|d4r|j2  |j3  d S )9N
resolutiong      R@appendFtitleauthorsubjectkeywordscreatorproducerzr+b)fr   modezw+bzcreated by PIL PDF driver append_imagesr   r      1ZASCIIHexDecodeZ
DeviceGrayZImageBLZ	DCTDecodePZRGBZIndexedZ	DeviceRGB   ZImageIZImageCZCMYKZ
DeviceCMYKzcannot save mode %srawhexZ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)r   r   )r   r   )r   r   )4Zencoderinfogetr   infoZTitleZAuthorZSubjectZKeywordsZCreatorZProducer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   r   Zis_appendingr   r   r   r   r   r   Zexisting_pdfZimsr   Z	append_imZnumberOfPagesZ
image_refsZ	page_refsZcontents_refsZim_numberOfPagesiZ
pageNumberZ
imSequencebitsZparamsfilterZ
colorspaceZprocsetZpaletteopdatawidthZheightZpage_contentsr   r   r   r   /   s    









"

"
"

"r   r$   z.pdfzapplication/pdf)F) r   r   r   r   r0   r*   r   r   Zregister_saveZregister_save_allZregister_extensionZregister_mimer   r   r   r   <module>   s   
 /