o
    HRhb3                     @   s  d Z ddlmZ ddlmZmZ G dd dZG dd dZG dd	 d	ZG d
d dZ	G dd deZ
G dd dZG dd dZG dd dZG dd dZG dd dZG dd dZG dd dZG dd dZG dd dZG d d! d!ZG d"d# d#ZG d$d% d%ZG d&d' d'ZG d(d) d)ZG d*d+ d+ZG d,d- d-ZG d.d/ d/ZG d0d1 d1ZG d2d3 d3eZG d4d5 d5ZG d6d7 d7ZG d8d9 d9Z G d:d; d;Z!G d<d= d=eZ"eee!eeeeee	eeeee eeeeeeeeeeefZ#d>S )?a  
See Portable Document Format Reference Manual, 1993. ISBN 0-201-62628-4.

See https://ia802202.us.archive.org/8/items/pdfy-0vt8s-egqFwDl7L2/PDF%20Reference%201.0.pdf

PDF Reference, third edition, Version 1.4, 2001. ISBN 0-201-75839-3.

PDF Reference, sixth edition, Version 1.7, 2006.
    )IntFlag)DictTuplec                   @   $   e Zd ZdZdZdZdZdZdZdS )Corez/Keywords that don't quite belong anywhere else.	/Outlines/Threadsz/Page/Pagesz/CatalogN)	__name__
__module____qualname____doc__OUTLINESTHREADSPAGEPAGESCATALOG r   r   R/home/air/sanwanet/backup_V2/venv/lib/python3.10/site-packages/PyPDF2/constants.pyr          r   c                   @       e Zd ZdZdZdZdZdZdS )TrailerKeysz/Rootz/Encrypt/IDz/Infoz/SizeN)r
   r   r   ROOTENCRYPTIDINFOSIZEr   r   r   r   r      s    r   c                   @      e Zd ZdZdZdS )CatalogAttributes/Names/DestsN)r
   r   r   NAMESDESTSr   r   r   r   r   !       r   c                   @   r   )EncryptionDictAttributeszo
    Additional encryption dictionary entries for the standard security handler.

    TABLE 3.19, Page 122
    z/Rz/Oz/U/Pz/EncryptMetadataN)	r
   r   r   r   ROUPENCRYPT_METADATAr   r   r   r   r%   &   s    r%   c                   @   s   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"S )#UserAccessPermissionsz"TABLE 3.20 User access permissions                   @         i   i   i   i   i    i @  i   i   i   i   i   i   i    i  @ i   i   i   i   i   i   i    i   @l        N)$r
   r   r   r   R1R2PRINTMODIFYEXTRACTADD_OR_MODIFYR7R8FILL_FORM_FIELDSEXTRACT_TEXT_AND_GRAPHICSASSEMBLE_DOCPRINT_TO_REPRESENTATIONR13R14R15R16R17R18R19R20R21R22R23R24R25R26R27R28R29R30R31R32r   r   r   r   r,   4   sD    r,   c                   @   0   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
S )
Ressourcesz,TABLE 3.30 Entries in a resource dictionary.z
/ExtGState/ColorSpacez/Patternz/Shadingz/XObject/Fontz/ProcSetz/PropertiesN)r
   r   r   r   EXT_G_STATECOLOR_SPACEPATTERNSHADINGXOBJECTFONTPROC_SET
PROPERTIESr   r   r   r   rW   Y       rW   c                   @   r   )PagesAttributesz$Page Attributes, Table 6.2, Page 52./Type/Kidsz/Count/ParentN)r
   r   r   r   TYPEKIDSCOUNTPARENTr   r   r   r   rc   f       rc   c                   @   s   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dS ) PageAttributesz$TABLE 3.27 Entries in a page object.rd   rf   z/LastModifiedz
/Resourcesz	/MediaBoxz/CropBoxz	/BleedBoxz/TrimBoxz/ArtBoxz/BoxColorInfo	/Contentsz/Rotatez/Groupz/Thumbz/Bz/Durz/Transz/Annots/AA	/Metadata
/PieceInfoz/StructParentsr   z/PZz/Tabsz/TemplateInstantiatedz
/PresStepsz	/UserUnitz/VPN)!r
   r   r   r   rg   rj   LAST_MODIFIED	RESOURCESMEDIABOXCROPBOXBLEEDBOXTRIMBOXARTBOXBOX_COLOR_INFOCONTENTSROTATEGROUPTHUMBBDURTRANSANNOTSAAMETADATA
PIECE_INFOSTRUCT_PARENTSr   PZTABSTEMPLATE_INSTANTIATED
PRES_STEPS	USER_UNITVPr   r   r   r   rl   o   s@    rl   c                   @   r   )"FileSpecificationDictionaryEntriesz5TABLE 3.41 Entries in a file specification dictionaryrd   z/FS/Fz/EFN)r
   r   r   r   TypeFSFEFr   r   r   r   r      rk   r   c                   @      e Zd ZdZdZdZdZdS )StreamAttributesz
Table 4.2.z/Lengthz/Filterz/DecodeParmsN)r
   r   r   r   LENGTHFILTERDECODE_PARMSr   r   r   r   r      
    r   c                   @   ,   e Zd ZdZdZdZdZdZdZdZ	dZ
d	S )
FilterTypeszF
    Table 4.3 of the 1.4 Manual.

    Page 354 of the 1.7 Manual
    z/ASCIIHexDecodez/ASCII85Decodez
/LZWDecodez/FlateDecodez/RunLengthDecodez/CCITTFaxDecodez
/DCTDecodeN)r
   r   r   r   ASCII_HEX_DECODEASCII_85_DECODE
LZW_DECODEFLATE_DECODERUN_LENGTH_DECODECCITT_FAX_DECODE
DCT_DECODEr   r   r   r   r      s    r   c                   @   r   )
FilterTypeAbbreviationsz*Table 4.44 of the 1.7 Manual (page 353ff).z/AHxz/A85z/LZWz/Flz/RLz/CCFz/DCTN)r
   r   r   r   AHxA85LZWFLRLCCFDCTr   r   r   r   r      s    r   c                   @   r   )LzwFilterParametersz
Table 4.4.z
/Predictor/Columnsz/Colors/BitsPerComponentz/EarlyChangeN)	r
   r   r   r   	PREDICTORCOLUMNSCOLORSBITS_PER_COMPONENTEARLY_CHANGEr   r   r   r   r      r   r   c                   @   rV   )CcittFaxDecodeParametersz
Table 4.5.z/Kz
/EndOfLinez/EncodedByteAlignr   z/Rowsz/EndOfBlockz	/BlackIs1z/DamagedRowsBeforeErrorN)r
   r   r   r   KEND_OF_LINEENCODED_BYTE_ALIGNr   ROWSEND_OF_BLOCK
BLACK_IS_1DAMAGED_ROWS_BEFORE_ERRORr   r   r   r   r      rb   r   c                   @   s8   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdS )ImageAttributeszTable 6.20.rd   /Subtypez/Namez/Widthz/Heightr   rX   z/Decodez/Interpolatez
/ImageMaskN)r
   r   r   r   rg   SUBTYPENAMEWIDTHHEIGHTr   r[   DECODEINTERPOLATE
IMAGE_MASKr   r   r   r   r      s    r   c                   @      e Zd ZdZdZdZdS )ColorSpacesz
/DeviceRGBz/DeviceCMYKz/DeviceGrayN)r
   r   r   
DEVICE_RGBDEVICE_CMYKDEVICE_GRAYr   r   r   r   r      s    r   c                   @   r   )TypArguments#Table 8.2 of the PDF 1.7 reference.z/Leftz/Rightz/Bottomz/TopN)r
   r   r   r   LEFTRIGHTBOTTOMTOPr   r   r   r   r      rk   r   c                   @   rV   )TypFitArgumentsr   z/Fitz/FitVz/FitBVz/FitBz/FitHz/FitBHz/FitRz/XYZN)r
   r   r   r   FITFIT_VFIT_BVFIT_BFIT_HFIT_BHFIT_RXYZr   r   r   r   r      rb   r   c                   @   r   )GoToActionArgumentsz/Sz/DN)r
   r   r   SDr   r   r   r   r     r$   r   c                   @   sH   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdS )AnnotationDictionaryAttributesz8TABLE 8.15 Entries common to all annotation dictionariesrd   r   z/Rectrm   r&   z/NMz/Mr   z/APz/ASz/Borderz/Cz/StructParentz/OCN)r
   r   r   r   r   SubtypeRectContentsr*   NMMr   APASBorderCStructParentOCr   r   r   r   r     s     r   c                   @   r   )
InteractiveFormDictEntriesz/Fieldsz/NeedAppearancesz	/SigFlagsz/COz/DRz/DAz/Qz/XFAN)r
   r   r   FieldsNeedAppearancesSigFlagsCODRDAQXFAr   r   r   r   r     s    r   c                   @   sl   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZedeedf fddZedeeef fddZdS )FieldDictionaryAttributeszHTABLE 8.69 Entries common to all field dictionaries (PDF 1.7 reference).z/FTrf   re   z/Tz/TUz/TMz/Ffz/Vz/DVrn   return.c              
   C   s,   | j | j| j| j| j| j| j| j| j| j	f
S N)
TMTFTParentTUFfVDVKidsr   clsr   r   r   
attributes3  s   z$FieldDictionaryAttributes.attributesc                 C   s4   | j d| jd| jd| jd| jd| jd| jd| jdiS )	Nz
Field Typer   z
Field NamezAlternate Field NamezMapping NamezField FlagsValuezDefault Value)r   r   r   r   r   r   r   r   r   r   r   r   attributes_dictB  s   z)FieldDictionaryAttributes.attributes_dictN)r
   r   r   r   r   r   r   r   r   r   r   r   r   r   classmethodr   strr   r   r   r   r   r   r   r   %  s     r   c                   @   sH   e Zd ZdZdZedeedf fddZede	eef fddZ
d	S )
CheckboxRadioButtonAttributesz0TABLE 8.76 Field flags common to all field typesz/Optr   .c                 C   s   | j fS r   Optr   r   r   r   r   U  s   z(CheckboxRadioButtonAttributes.attributesc                 C   s
   | j diS )NOptionsr  r   r   r   r   r   Y  s   z-CheckboxRadioButtonAttributes.attributes_dictN)r
   r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   P  s    r   c                   @   r   )	FieldFlagz0TABLE 8.70 Field flags common to all field typesr-   r.   r/   N)r
   r   r   r   	READ_ONLYREQUIRED	NO_EXPORTr   r   r   r   r  `  r   r  c                   @   s4   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdS )DocumentInformationAttributesz:TABLE 10.2 Entries in the document information dictionary.z/Titlez/Authorz/Subjectz	/Keywordsz/Creatorz	/Producerz/CreationDatez/ModDatez/TrappedN)r
   r   r   r   TITLEAUTHORSUBJECTKEYWORDSCREATORPRODUCERCREATION_DATEMOD_DATETRAPPEDr   r   r   r   r  h  s    r  c                   @   r   )PageLayoutszPage 84, PDF 1.4 reference.z/SinglePagez
/OneColumnz/TwoColumnLeftz/TwoColumnRightN)r
   r   r   r   SINGLE_PAGE
ONE_COLUMNTWO_COLUMN_LEFTTWO_COLUMN_RIGHTr   r   r   r   r  v  rk   r  c                   @   r   )GraphicsStateParameterszTable 4.8 of the 1.7 reference.rd   z/LWrY   z/SMaskN)r
   r   r   r   rg   LWr_   S_MASKr   r   r   r   r    s    r  c                   @   s   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdS )CatalogDictionaryz Table 3.25 in the 1.7 reference.rd   z/Versionr	   z/PageLabelsr    r!   z/ViewerPreferencesz/PageLayoutz	/PageModer   r   z/OpenActionrn   z/URIz	/AcroFormro   z/StructTreeRootz	/MarkInfoz/Langz/SpiderInfoz/OutputIntentsrp   z/OCPropertiesz/Permsz/Legalz/Requirementsz/Collectionz/NeedsRenderingN) r
   r   r   r   rg   VERSIONr   PAGE_LABELSr"   r#   VIEWER_PREFERENCESPAGE_LAYOUT	PAGE_MODEr   r   OPEN_ACTIONr   URI	ACRO_FORMr   STRUCT_TREE_ROOT	MARK_INFOLANGSPIDER_INFOOUTPUT_INTENTSr   OC_PROPERTIESPERMSLEGALREQUIREMENTS
COLLECTIONNEEDS_RENDERINGr   r   r   r   r    s<    r  c                   @   r   )OutlineFontFlagzK
    A class used as an enumerable flag for formatting an outline font
    r-   r.   N)r
   r   r   r   italicboldr   r   r   r   r.    s    r.  N)$r   enumr   typingr   r   r   r   r   r%   r,   rW   rc   rl   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r.  PDF_KEYSr   r   r   r   <module>   st    

%	$	
	+	
!
