
    ,hb3                        d Z ddlmZ ddlmZmZ  G d d      Z G d d      Z G d d	      Z G d
 d      Z	 G d de      Z
 G d d      Z G d d      Z G d d      Z G d d      Z G d d      Z G d d      Z G d d      Z G d d      Z G d d      Z G d  d!      Z G d" d#      Z G d$ d%      Z G d& d'      Z G d( d)      Z G d* d+      Z G d, d-      Z G d. d/      Z G d0 d1      Z G d2 d3e      Z G d4 d5      Z G d6 d7      Z G d8 d9      Z  G d: d;      Z! G 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#y>)?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y)Corez/Keywords that don't quite belong anywhere else.	/Outlines/Threadsz/Page/Pagesz/CatalogN)	__name__
__module____qualname____doc__OUTLINESTHREADSPAGEPAGESCATALOG     R/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/PyPDF2/constants.pyr   r      s    9HGDEGr   r   c                        e Zd ZdZdZdZdZdZy)TrailerKeysz/Rootz/Encrypt/IDz/Infoz/SizeN)r   r   r   ROOTENCRYPTIDINFOSIZEr   r   r   r   r      s    DG	BDDr   r   c                       e Zd ZdZdZy)CatalogAttributes/Names/DestsN)r   r   r   NAMESDESTSr   r   r   r    r    !   s    EEr   r    c                   $    e Zd ZdZdZdZdZdZdZy)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#     	AAAA)r   r&   c                       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#y")#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   s    ,	
B	
BEFGM	B	B #L"
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
Cr   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y
)
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   rY   rY   Y   s-    6KKGGGDHJr   rY   c                        e Zd ZdZdZdZdZdZy)PagesAttributesz$Page Attributes, Table 6.2, Page 52./Type/Kidsz/Count/ParentN)r   r   r   r   TYPEKIDSCOUNTPARENTr   r   r   re   re   f   s    .DDEFr   re   c                       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 y) PageAttributesz$TABLE 3.27 Entries in a page object.rf   rh   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   ri   rl   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   rn   rn   o   s    .DF  IHGHGF$NHFEEA
CEF	BHJ%N	B	BD3JI	Br   rn   c                        e Zd ZdZdZdZdZdZy)"FileSpecificationDictionaryEntriesz5TABLE 3.41 Entries in a file specification dictionaryrf   z/FS/Fz/EFN)r   r   r   r   TypeFSFEFr   r   r   r   r      s    ?D	BA	Br   r   c                       e Zd ZdZdZdZdZy)StreamAttributesz
Table 4.2.z/Lengthz/Filterz/DecodeParmsN)r   r   r   r   LENGTHFILTERDECODE_PARMSr   r   r   r   r      s    FF!Lr   r   c                   ,    e Zd ZdZdZdZdZdZdZdZ	dZ
y	)
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/     )&OJ!L*(Jr   r   c                   ,    e Zd ZdZdZdZdZdZdZdZ	dZ
y	)
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(    4
C
C
C	B	B
C
Cr   r   c                   $    e Zd ZdZdZdZdZdZdZy)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      s    IGF,!Lr   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y
)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      s/    AK,GD LJ 9r   r   c                   8    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y)ImageAttributeszTable 6.20.rf   /Subtypez/Namez/Widthz/Heightr   rZ   z/Decodez/Interpolatez
/ImageMaskN)r   r   r   r   ri   SUBTYPENAMEWIDTHHEIGHTr   r]   DECODEINTERPOLATE
IMAGE_MASKr   r   r   r   r      s8    DGDEF,KF KJr   r   c                       e Zd ZdZdZdZy)ColorSpacesz
/DeviceRGBz/DeviceCMYKz/DeviceGrayN)r   r   r   
DEVICE_RGBDEVICE_CMYKDEVICE_GRAYr   r   r   r   r      s    JKKr   r   c                        e Zd ZdZdZdZdZdZy)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      s    -DEF
Cr   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y
)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      s-    -
CEFEEFE
Cr   r   c                       e Zd ZdZdZy)GoToActionArgumentsz/Sz/DN)r   r   r   SDr   r   r   r   r     s    AAr   r   c                   H    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y)AnnotationDictionaryAttributesz8TABLE 8.15 Entries common to all annotation dictionariesrf   r   z/Rectro   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     sK    BDGDHA	BAA	B	BFA"L	Br   r   c                   ,    e Zd ZdZdZdZdZdZdZdZ	dZ
y	)
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*    F(OH	B	B	BA
Cr   r   c                   x    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       Zedeeef   fd       Zy)FieldDictionaryAttributeszHTABLE 8.69 Entries common to all field dictionaries (PDF 1.7 reference).z/FTrh   rg   z/Tz/TUz/TMz/Ffz/Vz/DVrp   return.c           
          | j                   | j                  | j                  | j                  | j                  | j
                  | j                  | j                  | j                  | j                  f
S N)
TMTFTParentTUFfVDVKidsr   clss    r   
attributesz$FieldDictionaryAttributes.attributes3  sT     FFEEFFJJFFFFEEFFHHFF
 	
r   c                     | 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  s    r   attributes_dictz)FieldDictionaryAttributes.attributes_dictB  sW     FFLJJEE<FF*FFNFFMEE7FFO	
 		
r   N)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	BFDA	B	B	BA	B	B
5c? 
 
 

S#X 

 

r   r   c                   T    e Zd ZdZdZedeedf   fd       Zede	eef   fd       Z
y)CheckboxRadioButtonAttributesz0TABLE 8.76 Field flags common to all field typesz/Optr   .c                     | j                   fS r   Optr  s    r   r  z(CheckboxRadioButtonAttributes.attributesU  s    zr   c                     | j                   diS )NOptionsr  r  s    r   r  z-CheckboxRadioButtonAttributes.attributes_dictY  s     GGY
 	
r   N)r   r   r   r   r  r  r   r  r  r   r  r   r   r   r  r  P  sN    :
C5c?   
S#X 
 
r   r  c                       e Zd ZdZdZdZdZy)	FieldFlagz0TABLE 8.70 Field flags common to all field typesr/   r0   r1   N)r   r   r   r   	READ_ONLYREQUIRED	NO_EXPORTr   r   r   r  r  `  s    :IHIr   r  c                   4    e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
Zy)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  s2    DEFGHGH#MHGr   r  c                        e Zd ZdZdZdZdZdZy)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  s    %KJ&O(r   r&  c                        e Zd ZdZdZdZdZdZy)GraphicsStateParameterszTable 4.8 of the 1.7 reference.rf   z/LWr[   z/SMaskN)r   r   r   r   ri   LWra   S_MASKr   r   r   r,  r,    s    )D	BDFr   r,  c                       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y)CatalogDictionaryz Table 3.25 in the 1.7 reference.rf   z/Versionr
   z/PageLabelsr!   r"   z/ViewerPreferencesz/PageLayoutz	/PageModer   r	   z/OpenActionrp   z/URIz	/AcroFormrq   z/StructTreeRootz	/MarkInfoz/Langz/SpiderInfoz/OutputIntentsrr   z/OCPropertiesz/Permsz/Legalz/Requirementsz/Collectionz/NeedsRenderingN) r   r   r   r   ri   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   r0  r0    s    *DGEKEE-KIHGK	B
CIH(IDK%NJ#MEE"LJ'Or   r0  c                       e Zd ZdZdZdZy)OutlineFontFlagzK
    A class used as an enumerable flag for formatting an outline font
    r/   r0   N)r   r   r   r   italicboldr   r   r   rE  rE    s     FDr   rE  N)$r   enumr   typingr   r   r   r   r    r&   r.   rY   re   rn   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r&  r,  r0  rE  PDF_KEYSr   r   r   <module>rK     s       
* *"G "J
 
 ! !H " "  	 	" "
: 
:     
 
 
 & (
 (
V
 
   ) ) ( (Bg  #!!&3r   