
     f"                        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 ddlm	Z	m
Z
mZmZmZmZ ddZd ZddZ e	j        de            e	j        de            e	j        dd            e	j        dd           dS )    )annotationsN)IO   )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      U/var/www/api.educacionweb.es/myenv/lib/python3.11/site-packages/PIL/PdfImagePlugin.py	_save_allr   +   s    	"b(T******    c                0   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}
na| j        dk    rd}	d}
d|d<   nK| j        dk    rd}	|                                 }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        | |d#d$| j         z   d| j        fg           n|	dk    r2|                     |d%d&t-          j        |dz            |z  '           n^|	d
k    rt1          j        d(         | ||           n;|	dk    r |d= t1          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   savemathceilr   SAVEgetvaluepop	write_obj)r   r   existing_pdf
image_refsparamsdecodewidthheightdict_objfilterprocsetpalettesmask	image_refmsgoprD   s                    r   rY   rY   3   sB   
 FF
 GME6"A&H	w#~~>)$$ 	!%F+,H'('%!#(,',$*	  	 FF !F!*!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%"')91bg!F GHHHH	#	#	#
 y++f4 	 	
 	
 	
 	
 
;		
62r8,,,,	;		'(
:r2x00002222oo[[]]F!!!#Y%6v%>%>$?@@"6**q!!ILy))!'**     gr   Fc                `	   | j                             dd          }|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	 | j        }n# t(          $ r Y nw xY w||z  }t+          |          D ]}|                    |                    d                     | j        dk    r1d| j
        v r(|                    |                    d                     |                    |                    d                     |                    |                    d                     |j                            |d                    א|                                 d}|D ]}|rt5          j        |          n|g}|D ]} t9          | |||          \  }}|                    ||         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  }|#                                 tI          |d          r|%                                 |&                                 d S )NappendFzr+b)fr   rM   zw+bdpir   r   
resolutiong      R@)titleauthorsubjectkeywordscreatorproducercreationDatemodDatezcreated by Pillow z PDF driverappend_imagesr-   r3   r    PDF)image)ProcSetrC   )	ResourcesMediaBoxContentss   q %f 0 0 %f 0 0 cm /image Do Q
)rD   flush)'rX   getr	   ospathsplitextbasenametimegmtimeitemsrU   upperloadstart_writingwrite_headerwrite_commentr
   copyrs   n_framesAttributeErrorrangenext_object_idrM   pageswrite_catalogr   IteratorrY   
write_pagerP   rQ   rh   ri   rc   write_xref_and_trailerhasattrr   close)r   r   r   r   is_appendingrd   ru   x_resolutiony_resolutionrU   kdefaultvimsr   	append_imnumber_of_pagesre   	page_refscontents_refsim_number_of_pagesipage_numberim_sequenceim_pagesro   rl   page_contentss                               r   r   r      s;   >%%h66L P *R(OOO *R(OOO
.

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 	%'[""!     	--)** 	5 	5Al99!<<===w#~~.BG";";!!,"="=a"@"@AAA\88;;<<<  !<!<Q!?!?@@@%%im4444	5    K ! !:BU=)+666 	 	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 



s   I


IIr   z.pdfzapplication/pdf)r   r   r   r   r   r   r   r   )F)
__future__r   r[   r^   r   r   typingr    r   r   r   r	   r
   r   r   rY   r   register_saveregister_save_allregister_extensionregister_mime r   r   <module>r      s  , # " " " " " 				  				        O O O O O O O O O O O O O O O O+ + + +{ { {|s s s st  E5 ! ! !  y ) ) )   ' ' '  E, - - - - -r   