
    zvg$                       d dl mZ d dlZd dlZd dlZd dlZd dlmZmZ ddl	m
Z
mZmZmZmZmZ d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 )     )annotationsN)IOAny   )Image	ImageFileImageSequence	PdfParser__version__featuresimImage.Imagefp	IO[bytes]filenamestr | bytesreturnNonec                ,    t          | ||d           d S )NT)save_all)_save)r   r   r   s      O/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/PIL/PdfImagePlugin.py	_save_allr   +   s    	"b(T******    existing_pdfPdfParser.PdfParser
image_refs!list[PdfParser.IndirectReference]'tuple[PdfParser.IndirectReference, str]c                Z   d }d }| j         \  }}ddi}| j        dk    ret          j        d          r4d}	d|d<   t	          j        t	          j        dd||d	          g          }nd
}	t	          j        d          |d<   d}
n| j        dk    rd
}	t	          j        d          |d<   d}
ne| j        dk    rd}	d}
d|d<   nO| j        dk    rd}	|                                 }|J t	          j        d          t	          j        d          t          |          dz  dz
  t	          j
        |          g|d<   d}
d| j        v rL|                     d                              d          }i |_        t          ||||          d         }||d<   n| j        dk    rd
}	t	          j        d          |d<   d}
nY| j        dk    r
d}	d}
d|d<   nD| j        dk    r d
}	t	          j        d           |d<   d}
g d!}nd"| j         }t!          |          t#          j                    }|	dk    r:t'          j        | |t'          j        d#d$| j         z   d| j                  g           n|	dk    r2|                     |d%d&t/          j        |dz            |z  '           n^|	d
k    rt3          j        d(         | ||           n;|	dk    r |d= t3          j        d)         | ||           nd*|	 d+}t!          |          |                                }|	dk    r2|dd          }t	          j        t	          j        |	          g          }nt	          j        |	          }|                    d          } |j        |f|t	          j        d,          t	          j        d-          |||||d.| ||
fS )/NBitsPerComponent   1libtiffCCITTFaxDecoder   T)KBlackIs1ColumnsRows	DCTDecode
DeviceGray
ColorSpaceImageBLLA	JPXDecodeSMaskInDataPASCIIHexDecodeIndexed	DeviceRGB   ImageItransparencyAr   SMaskRGBImageCRGBACMYK
DeviceCMYK)r   r   r   r   r   r   r   r   zcannot save mode hex)r   r   TIFFgroup4)compression
strip_sizeJPEGJPEG2000zunsupported PDF filter ()XObjectr   )streamTypeSubtypeWidthHeightFilterDecodeDecodeParms)sizemoder   checkr
   PdfArrayPdfDictPdfName
getpalettelen	PdfBinaryinfoconvert
getchannelencoderinfo_write_image
ValueErrorioBytesIOr   r   _Tilesavemathceilr   SAVEgetvaluepop	write_obj)r   r   r   r   paramsdecodewidthheightdict_objdecode_filterprocsetpalettesmask	image_refmsgoprJ   filters                     r   r_   r_   3   sU    FF
 GME6 2A6H	w#~~>)$$ 	(,M+,H'('%!#(,',$*	  	 FF (M!*!2<!@!@	C#!*!2<!@!@	D#"#	C(--//"""i((k**LLA!((	"
 RW$$JJt$$//44E "E$UHlJOOPQRI )HW	E		#!*!2;!?!?	F		#"#	F		#!*!2<!@!@)))+"'++oo
 
B(((B8H!RW!U!U VWWWW	*	*	*
 y++f4 	 	
 	
 	
 	
 
+	%	%
62r8,,,,	+	%	%'(
:r2x00009999oo[[]]F(((#Y%6}%E%E$FGG"=11q!!ILy))!'**     gr   Fr   boolc                	   | j                             dd          }t          |t                    r|                                n|}|rt          j        ||d          }nt          j        ||d          }| j                             d          }|r|d         }|d         }	n| j                             d	d
          x}}	|rd nAt          j                            t          j        	                    |                    d         d d d d d |rd nt          j                    |rd nt          j                    d}
|
                                D ]Y\  }}|| j         v r| j                             |          n|}|r-||j        |d                                         |dd          z   <   Z|                                  |                                 |                                 |                    dt&           d           | g}|rS| j                             dg           }|D ]5}| j                                         |_         |                    |           6d}g }g }g }|D ]} d}|rt-          | dd          }||z  }t/          |          D ]}|                    |                    d                     | j        dk    r1d| j        v r(|                    |                    d                     |                    |                    d                     |                    |                    d                     |j                            |d                    א|                                 d}|D ]}|rt9          j        |          n|g}|D ]} t=          | |||          \  }}|                    ||         t          j         t          j!        d          t          j!        |          gt          j         |                    dd| j"        d
z  |z  | j#        d
z  |	z  g||                    d| j"        d
z  |z  | j#        d
z  |	z  fz  }|$                    ||         |           |dz  }|%                                 tM          |d          r|'                                 |(                                 d S )NappendFzr+b)fr   rS   zw+bdpir   r   
resolutiong      R@)titleauthorsubjectkeywordscreatorproducercreationDatemodDatezcreated by Pillow z PDF driverappend_imagesn_framesr3   r9   r&   PDF)image)ProcSetrI   )	ResourcesMediaBoxContentss   q %f 0 0 %f 0 0 cm /image Do Q
)rJ   flush))r^   get
isinstancebytesrl   r
   ospathsplitextbasenametimegmtimeitemsr[   upperloadstart_writingwrite_headerwrite_commentr   copyrz   getattrrangenext_object_idrS   pageswrite_catalogr	   Iteratorr_   
write_pagerV   rW   rm   rn   rj   write_xref_and_trailerhasattrr   close)r   r   r   r   is_appendingfilename_strr   r|   x_resolutiony_resolutionr[   kdefaultvimsr   	append_imnumber_of_pagesr   	page_refscontents_refsim_number_of_pagesipage_numberim_sequenceim_pagesrt   rq   page_contentss                                r   r   r      sC    >%%h66L(28U(C(CQ8??$$$L T *R,USSS *R,USSS
.

U
#
#C
 M1v1v&(n&8&8t&L&LL| !UDDbg&6&6rw7G7G7Q7Q&R&RST&U ,?$+--':44T[]] D jjll 8 8
7%&".%8%8BNq!!!g 	867LadjjllQqrrU23 GGIII   LKLLLMMM $C "**?B??& 	" 	"I$&N$7$7$9$9I!JJy!!!!OJIM 5 5 	<!(Z!;!;--)** 	5 	5Al99!<<===w#~~.BG";";!!,"="=a"@"@AAA\88;;<<<  !<!<Q!?!?@@@%%im4444	5    K # #3;NM";///+ 	  	 	B!-b(L*!U!UIw
 ##+&#+&.u55y7H7Q7QR%-I>>>  
 HtOl2I$|3	 '{3 $   $ @4,.	D </C M
 ""=#=m"TTT1KK?	F '')))r7 



r   r   z.pdfzapplication/pdf)r   r   r   r   r   r   r   r   )
r   r   r   r   r   r   r   r   r   r   )F)
r   r   r   r   r   r   r   rx   r   r   )
__future__r   ra   re   r   r   typingr   r    r   r   r	   r
   r   r   r   r_   r   register_saveregister_save_allregister_extensionregister_mime r   r   <module>r      s5  , # " " " " " 				  				          O O O O O O O O O O O O O O O O+ + + +B B B BL MRs s s s st  E5 ! ! !  y ) ) )   ' ' '  E, - - - - -r   