IDNameDescriptionTypeRule
16-1-10-t01The LZWDecode filter shall not be permittedCosStreamfilters == null || filters.indexOf("LZWDecode") == -1
26-1-10-t02The LZWDecode filter shall not be permittedPDInlineImageF == null || F.indexOf("LZW") == -1
36-1-11-t02A file's name dictionary, as defined in PDF Reference 3.6.3, shall not contain the EmbeddedFiles keyCosDocumentEmbeddedFiles_size == 0
46-1-12-t01Largest Integer value is 2,147,483,647. Smallest integer value is -2,147,483,648CosInteger(intValue <= 2147483647) && (intValue >= -2147483648)
56-1-12-t02Absolute real value must be less than or equal to 32767.0CosReal(realValue >= -32767.0) && (realValue <= 32767.0)
66-1-12-t03Maximum length of a string (in bytes) is 65535CosStringvalue.length() < 65536
76-1-12-t04Maximum length of a name (in bytes) is 127CosNameorigLength <= 127
86-1-12-t05Maximum capacity of an array (in elements) is 8191CosArraysize <= 8191
96-1-12-t06Maximum capacity of a dictionary (in entries) is 4095CosDictsize <= 4095
106-1-12-t07Maximum number of indirect objects in a PDF file is 8,388,607CosDocumentnrIndirects <= 8388607
116-1-12-t08Maximum depth of graphics state nesting by q and Q operators is 28Op_q_gsavenestingLevel <= 28
126-1-12-t09Maximum number of DeviceN components is 8PDDeviceNnrComponents <= 8
136-1-12-t10Maximum value of a CID (character identifier) is 65,535CIDGlyphCID <= 65535
146-1-13-t01The document catalog dictionary shall not contain a key with the name OCPropertiesCosDocumentisOptionalContentPresent == false
156-1-2-t01The % character of the file header shall occur at byte offset 0 of the file. The first line of a PDF file is a header identifying the version of the PDF specification to which the file conformsCosDocumentpdfHeaderCompliesPDFA
166-1-2-t02The file header line shall be immediately followed by a comment consisting of a % character followed by at least four characters, each of whose encoded byte values shall have a decimal value greater than 127CosDocumentbinaryHeaderComplyPDFA
176-1-3-t01The file trailer dictionary shall contain the ID keyword. The file trailer referred to is either the last trailer dictionary in a PDF file, as described in PDF Reference 3.4.4 and 3.4.5, or the first page trailer in a linearized PDF file, as described in PDF Reference F.2CosDocument(isLinearized == true && firstPageID != null) || ((isLinearized != true) && lastID != null)
186-1-3-t02The keyword Encrypt shall not be used in the trailer dictionaryCosTrailerisEncrypted != true
196-1-3-t03No data shall follow the last end-of-file marker except a single optional end-of-line marker.CosDocumenteofCompliesPDFA
206-1-3-t04In a linearized PDF, if the ID keyword is present in both the first page trailer dictionary and the last trailer dictionary, the value to both instances of the ID keyword shall be identicalCosDocument(isLinearized != true)|| lastID == null || (firstPageID == lastID)
216-1-4-t01In a cross reference subsection header the starting object number and the range shall be separated by a single SPACE character (20h)CosXRefxrefHeaderSpacingsComplyPDFA
226-1-4-t02The xref keyword and the cross reference subsection header shall be separated by a single EOL markerCosXRefxrefEOLMarkersComplyPDFA
236-1-6-t01Hexadecimal strings shall contain an even number of non-white-space charactersCosString(isHex != true) || hexCount % 2 == 0
246-1-6-t02All non-white-space characters in hexadecimal strings shall be in the range 0 to 9, A to F or a to fCosString(isHex != true) || isHexSymbols
256-1-7-t01The value of the Length key specified in the stream dictionary shall match the number of bytes in the file following the LINE FEED character after the stream keyword and preceding the EOL marker before the endstream keywordCosStreamisLengthCorrect
266-1-7-t02The stream keyword shall be followed either by a CARRIAGE RETURN (0Dh) and LINE FEED (0Ah) character sequence or by a single LINE FEED character. The endstream keyword shall be preceded by an EOL markerCosStreamspacingCompliesPDFA
276-1-7-t03A stream object dictionary shall not contain the F, FFilter, or FDecodeParms keysCosStreamF == null && FFilter == null && FDecodeParms == null
286-1-8-t01The object number and generation number shall be separated by a single white-space character. The generation number and obj keyword shall be separated by a single white-space character. The object number and endobj keyword shall each be preceded by an EOL marker. The obj and endobj keywords shall each be followed by an EOL marker.CosIndirectspacingCompliesPDFA
296-2-10-t01A content stream shall not contain any operators not defined in PDF Reference even if such operators are bracketed by the BX/EX compatibility operatorsOp_Undefinedfalse
306-2-2-t01A PDF/A-1 OutputIntent is an OutputIntent dictionary, as defined by PDF Reference 9.10.4, that is included in the file's OutputIntents array and has GTS_PDFA1 as the value of its S key and a valid ICC profile stream as the value its DestOutputProfile keyICCOutputProfile(deviceClass == "prtr" || deviceClass == "mntr") && (colorSpace == "RGB " || colorSpace == "CMYK" || colorSpace == "GRAY") && version <= 2.3
316-2-2-t02If a file's OutputIntents array contains more than one entry, then all entries that contain a DestOutputProfile key shall have as the value of that key the same indirect object, which shall be a valid ICC profile streamPDOutputIntentdestOutputProfileRef == null || gOutputProfileRef == null || destOutputProfileRef == gOutputProfileRef
326-2-3-t01All ICCBased colour spaces shall be embedded as ICC profile streams as described in PDF Reference 4.5ICCInputProfile(deviceClass == "prtr" || deviceClass == "mntr" || deviceClass == "scnr" || deviceClass == "spac") && (colorSpace == "RGB " || colorSpace == "CMYK" || colorSpace == "GRAY" || colorSpace == "LAB ") && version <= 2.3
336-2-3-t02DeviceRGB may be used only if the file has a PDF/A-1 OutputIntent that uses an RGB colour spacePDDeviceRGBgOutputCS != null && gOutputCS == "RGB "
346-2-3-t03DeviceCMYK may be used only if the file has a PDF/A-1 OutputIntent that uses a CMYK colour spacePDDeviceCMYKgOutputCS != null && gOutputCS == "CMYK"
356-2-3-t04If an uncalibrated colour space is used in a file then that file shall contain a PDF/A-1 OutputIntent, as defined in 6.2.2PDDeviceGraygOutputCS != null
366-2-3-t05The number of color components in the color space described by the ICC profile data must match the number of components actually in the ICC profile. As of PDF 1.4, N must be 1, 3, or 4ICCProfileN != null && ((N == 1 && colorSpace == "GRAY") || (N == 3 && (colorSpace == "RGB " || colorSpace == "LAB ")) || (N == 4 && colorSpace == "CMYK"))
376-2-4-t01An Image dictionary shall not contain the Alternates keyPDXImageAlternates_size == 0
386-2-4-t02An XObject dictionary (Image or Form) shall not contain the OPI keyPDXObjectOPI_size == 0
396-2-4-t03If an Image dictionary contains the Interpolate key, its value shall be falsePDXImageInterpolate == false
406-2-5-t01A form XObject dictionary shall not contain the Subtype2 key with a value of PS or the PS keyPDXForm(Subtype2 == null || Subtype2 != "PS") && PS_size == 0
416-2-6-t01A conforming file shall not contain any reference XObjectsPDXFormRef_size == 0
426-2-7-t01A conforming file shall not contain any PostScript XObjectsPDXObjectSubtype != "PS"
436-2-8-t01An ExtGState dictionary shall not contain the TR keyPDExtGStateTR == null
446-2-8-t02An ExtGState dictionary shall not contain the TR2 key with a value other than DefaultPDExtGStateTR2 == null || TR2 == "Default"
456-2-9-t01Where a rendering intent is specified, its value shall be one of the four values defined in PDF Reference RelativeColorimetric, AbsoluteColorimetric, Perceptual or SaturationCosRenderingIntentvalue == "RelativeColorimetric" || value == "AbsoluteColorimetric" || value == "Perceptual" || value == "Saturation"
466-3-2-t01All fonts used in a conforming file shall conform to the font specifications defined in PDF Reference 5.5. Type - name - (Required) The type of PDF object that this dictionary describes; must be Font for a font dictionaryPDFontType == "Font"
476-3-2-t02All fonts used in a conforming file shall conform to the font specifications defined in PDF Reference 5.5. Subtype - name - (Required) The type of font; must be "Type1" for Type 1 fonts, "MMType1" for multiple master fonts, "TrueType" for TrueType fonts "Type3" for Type 3 fonts, "Type0" for Type 0 fonts and "CIDFontType0" or "CIDFontType2" for CID fontsPDFontSubtype == "Type1" || Subtype == "MMType1" || Subtype == "TrueType" || Subtype == "Type3" || Subtype == "Type0" || Subtype == "CIDFontType0" || Subtype == "CIDFontType2"
486-3-2-t03All fonts used in a conforming file shall conform to the font specifications defined in PDF Reference 5.5. BaseFont - name - (Required) The PostScript name of the fontPDFontSubtype == "Type3" || BaseFont != null
496-3-2-t04All fonts used in a conforming file shall conform to the font specifications defined in PDF Reference 5.5. FirstChar - integer - (Required except for the standard 14 fonts) The first character code defined in the font's Widths arrayPDSimpleFontisStandard == true || FirstChar != null
506-3-2-t05All fonts used in a conforming file shall conform to the font specifications defined in PDF Reference 5.5. FirstChar - integer - (Required except for the standard 14 fonts) The first character code defined in the font's Widths arrayPDSimpleFontisStandard == true || LastChar != null
516-3-2-t06All fonts used in a conforming file shall conform to the font specifications defined in PDF Reference 5.5. Widths - array - (Required except for the standard 14 fonts; indirect reference preferred) An array of (LastChar − FirstChar + 1) widthsPDSimpleFontisStandard == true || (Widths_size != null && Widths_size == LastChar - FirstChar + 1)
526-3-3-t01For any given composite (Type 0) font referenced within a conforming file, the CIDSystemInfo entries of its CIDFont and CMap dictionaries shall be compatiblePDType0FontareRegistryOrderingCompatible == true
536-3-3-t02For all Type 2 CIDFonts, the CIDFont dictionary shall contain a CIDToGIDMap entry that shall be a stream mapping from CIDs to glyph indices or the name Identity, as described in PDF Reference Table 5.13PDCIDFontSubtype != "CIDFontType2" || CIDToGIDMap != null
546-3-3-t03All CMaps used within a conforming file, except Identity-H and Identity-V, shall be embedded in that file as described in PDF Reference 5.6.4PDCMapCMapName == "Identity-H" || CMapName == "Identity-V" || embeddedFile_size == 1
556-3-4-t01The font programs for all fonts used within a conforming file shall be embedded within that file, as defined in PDF Reference 5.8, except when the fonts are used exclusively with text rendering mode 3PDFontSubtype == "Type3" || Subtype == "Type0" || fontFile_size == 1
566-3-5-t01Embedded font programs shall define all font glyphs referenced for rendering with a conforming fileGlyphisGlyphPresent == true
576-3-5-t02For all Type 1 font subsets referenced within a conforming file, the font descriptor dictionary shall include a CharSet string listing the character names defined in the font subset, as described in PDF Reference Table 5.18PDType1FontBaseFont.search(/[A-Z]{6}\+/) != 0 || CharSet != null
586-3-5-t03For all CIDFont subsets referenced within a conforming file, the font descriptor dictionary shall include a CIDSet stream identifying which CIDs are present in the embedded CIDFont file, as described in PDF Reference Table 5.20PDCIDFontBaseFont.search(/[A-Z]{6}\+/) != 0 || CIDSet_size == 1
596-3-6-t01For every font embedded in a conforming file, the glyph width information stored in the Widths entry of the font dictionary and in the embedded font program shall be consistentGlyphisWidthConsistent == true
606-3-7-t01All non-symbolic TrueType fonts shall specify MacRomanEncoding or WinAnsiEncoding, either as the value of the Encoding entry in the font dictionary or as the value of the BaseEncoding entry in the dictionary that is the value of the Encoding entry in the font dictionary. If the value of the Encoding entry is a dictionary, it shall not contain a Differences entry.PDTrueTypeFontisSymbolic == true || (Encoding == "MacRomanEncoding" || Encoding == "WinAnsiEncoding")
616-3-7-t02 All symbolic TrueType fonts shall not specify an Encoding entry in the font dictionaryPDTrueTypeFontisSymbolic == false || Encoding == null
626-3-7-t03Font programs' "cmap" tables for all symbolic TrueType fonts shall contain exactly one encodingTrueTypeFontProgramisSymbolic == false || nrCmaps == 1
636-4-t01If an SMask key appears in an ExtGState dictionary, its value shall be NonePDExtGStateSMask == null || SMask == "None"
646-4-t02An XObject dictionary shall not contain the SMask keyPDXObjectSMask_size == 0
656-4-t03A Group object with an S key with a value of Transparency shall not be included in a form XObject. A Group object with an S key with a value of Transparency shall not be included in a page dictionaryPDGroupS != "Transparency"
666-4-t04The following keys, if present in an ExtGState object, shall have the values shown: BM - Normal or CompatiblePDExtGStateBM == null || BM == "Normal" || BM == "Compatible"
676-4-t05The following keys, if present in an ExtGState object, shall have the values shown: CA - 1.0PDExtGStateCA == null || CA == 1.0
686-4-t06The following keys, if present in an ExtGState object, shall have the values shown: CA - 1.0PDExtGStateca == null || ca == 1.0
696-5-2-t01Annotation types not defined in PDF Reference shall not be permitted. Additionally, the FileAttachment, Sound and Movie types shall not be permittedPDAnnotSubtype == "Text" || Subtype == "Link" || Subtype == "FreeText" || Subtype == "Line" || Subtype == "Square" || Subtype == "Circle" || Subtype == "Highlight" || Subtype == "Underline" || Subtype == "Squiggly" || Subtype == "StrikeOut" || Subtype == "Stamp" || Subtype == "Ink" || Subtype == "Popup" || Subtype == "Widget" || Subtype == "PrinterMark" || Subtype == "TrapNet"
706-5-3-t01An annotation dictionary shall not contain the CA key with a value other than 1.0PDAnnotCA == null || CA == 1.0
716-5-3-t02An annotation dictionary shall contain the F key. The F key’s Print flag bit shall be set to 1 and its Hidden, Invisible and NoView flag bits shall be set to 0PDAnnotF != null && (F & 4) == 4 && (F & 1) == 0 && (F & 2) == 0 && (F & 32) == 0
726-5-3-t03An annotation dictionary shall not contain the C array or the IC array unless the colour space of the DestOutputProfile in the PDF/A-1 OutputIntent dictionary, defined in 6.2.2, is RGBPDAnnot(C_size == 0 && IC_size == 0) || gOutputCS == "RGB "
736-5-3-t04For all annotation dictionaries containing an AP key, the appearance dictionary that it defines as its value shall contain only the N key. If an annotation dictionary’s Subtype key has a value of Widget and its FT key has a value of Btn, the value of the N key shall be an appearance subdictionary; otherwise the value of the N key shall be an appearance stream.PDAnnotAP == null || ( AP == "N" && ( N_type == "Stream" || (FT == "Btn" && N_type == "Dict") ) )
746-6-1-t01The Launch, Sound, Movie, ResetForm, ImportData and JavaScript actions shall not be permitted. Additionally, the deprecated set-state and no-op actions shall not be permitted. The Hide action shall not be permitted (Corrigendum 2)PDActionS == "GoTo" || S == "GoToR" || S == "Thread" || S == "URI" || S == "Named" || S == "SubmitForm"
756-6-1-t02Named actions other than NextPage, PrevPage, FirstPage, and LastPage shall not be permittedPDNamedActionN == "NextPage" || N == "PrevPage" || N == "FirstPage" || N == "LastPage"
766-6-1-t03Interactive form fields shall not perform actions of any typePDAnnotSubtype != "Widget" || A_size == 0
776-6-2-t01A Widget annotation dictionary shall not include an AA entry for an additional-actions dictionaryPDAnnotSubtype != "Widget" || AA_size == 0
786-6-2-t02A Field dictionary shall not include an AA entry for an additional-actions dictionaryPDFormFieldAA_size == 0
796-6-2-t03The document catalog dictionary shall not include an AA entry for an additional-actions dictionaryPDDocumentAA_size == 0
806-7-11-t01The PDF/A version and conformance level of a file shall be specified using the PDF/A Identification extension schema.XMPMainPackageispdfaidNSPresent
816-7-11-t02The PDF/A version and conformance level of a file shall be specified using the PDF/A Identification extension schema.PDFAIdSchemapart == 1
826-7-11-t03The PDF/A version and conformance level of a file shall be specified using the PDF/A Identification extension schema.PDFAIdSchemaconformance == "B"
836-7-11-t04The property "corr" is not specified in PDF/A Identification Schema in PDF/A-1 specification.PDFAIdSchemacorr == null
846-7-11-t05The PDF/A Identification Schema has required prefix "pdfaid".PDFAIdSchemaprefix == "pdfaid"
856-7-2-t01The document catalog dictionary of a conforming file shall contain the Metadata key.PDDocumentmetadata_size == 1
866-7-2-t02Metadata object stream dictionaries shall not contain the Filter key.PDMetadataFilter == null
876-7-3-t01If a document information dictionary does appear at a document, then all of its entries that have analogous properties in predefined XMP schemas, shall also be embedded in the file in XMP form with equivalent values.CosDocumentdoesInfoMatchXMP
886-7-5-t01The bytes attribute shall not be used in the header of an XMP packet.XMPPackagebytes == null
896-7-5-t02The encoding attribute shall not be used in the header of an XMP packet.XMPPackageencoding == null
906-7-8-t01All extension schemas used in a conforming file shall have their descriptions embedded within that file in the metadata stream.XMPCustomSchemaisDefinitionCorrect
916-7-8-t02All extension schemas used in a conforming file shall have their descriptions embedded within that file in the metadata stream.XMPCustomSchemaisDefinedInThisPackage
926-7-8-t03The required PDF/A Extension Schema namespace prefix is pdfaExtension.PDFAExtensionSchemaprefix == "pdfaExtension"
936-7-8-t04A PDF/A Field Schema namespace prefix is required to be "pdfaField".PDFAExtensionSchemaisPDFAFieldPrefixCorrect
946-7-8-t05A PDF/A Property Schema namespace prefix is required to be "pdfaProperty".PDFAExtensionSchemaisPDFAPropertyPrefixCorrect
956-7-8-t06A PDF/A Schema Description Schema namespace prefix is required to be "pdfaSchema".PDFAExtensionSchemaisPDFASchemaPrefixCorrect
966-7-8-t07A PDF/A ValueType Schema namespace prefix is required to be "pdfaType".PDFAExtensionSchemaisPDFATypePrefixCorrect
976-7-9-t01The metadata stream shall conform to XMP Specification.XMPPackageisMetadataValid
986-7-9-t02All predefined schemas shall conform to XMP specification.XMPPredefinedSchemaunknownProperties == null
996-7-9-t03All predefined schemas shall conform to XMP specification.XMPPredefinedSchemawrongValueTypeProperties == null
1006-9-t01The NeedAppearances flag of the interactive form dictionary shall either not be present or shall be falsePDAcroFormNeedAppearances == null || NeedAppearances == false
1016-9-t02A Widget annotation dictionary or Field dictionary shall not contain the A or AA keysPDAnnotSubtype != "Widget" || (A_size == 0 && AA_size == 0)
1026-9-t03A Widget annotation dictionary or Field dictionary shall not contain the A or AA keysPDFormFieldAA_size == 0