ID | Name | Description | Type | Rule
--- | --- | --- | --- | ---
1 | 6-1-10-t01 | The LZWDecode filter shall not be permitted | CosStream | filters == null || filters.indexOf("LZWDecode") == -1
2 | 6-1-10-t02 | The LZWDecode filter shall not be permitted | PDInlineImage | F == null || F.indexOf("LZW") == -1
3 | 6-1-11-t02 | A file's name dictionary, as defined in PDF Reference 3.6.3, shall not contain the EmbeddedFiles key | CosDocument | EmbeddedFiles_size == 0
4 | 6-1-12-t01 | Largest Integer value is 2,147,483,647. Smallest integer value is -2,147,483,648 | CosInteger | (intValue <= 2147483647) && (intValue >= -2147483648)
5 | 6-1-12-t02 | Absolute real value must be less than or equal to 32767.0 | CosReal | (realValue >= -32767.0) && (realValue <= 32767.0)
6 | 6-1-12-t03 | Maximum length of a string (in bytes) is 65535 | CosString | value.length() < 65536
7 | 6-1-12-t04 | Maximum length of a name (in bytes) is 127 | CosName | origLength <= 127
8 | 6-1-12-t05 | Maximum capacity of an array (in elements) is 8191 | CosArray | size <= 8191
9 | 6-1-12-t06 | Maximum capacity of a dictionary (in entries) is 4095 | CosDict | size <= 4095
10 | 6-1-12-t07 | Maximum number of indirect objects in a PDF file is 8,388,607 | CosDocument | nrIndirects <= 8388607
11 | 6-1-12-t08 | Maximum depth of graphics state nesting by q and Q operators is 28 | Op_q_gsave | nestingLevel <= 28
12 | 6-1-12-t09 | Maximum number of DeviceN components is 8 | PDDeviceN | nrComponents <= 8
13 | 6-1-12-t10 | Maximum value of a CID (character identifier) is 65,535 | CIDGlyph | CID <= 65535
14 | 6-1-13-t01 | The document catalog dictionary shall not contain a key with the name OCProperties | CosDocument | isOptionalContentPresent == false
15 | 6-1-2-t01 | The % 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 conforms | CosDocument | pdfHeaderCompliesPDFA
16 | 6-1-2-t02 | The 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 127 | CosDocument | binaryHeaderComplyPDFA
17 | 6-1-3-t01 | The 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.2 | CosDocument | (isLinearized == true && firstPageID != null) || ((isLinearized != true) && lastID != null)
18 | 6-1-3-t02 | The keyword Encrypt shall not be used in the trailer dictionary | CosTrailer | isEncrypted != true
19 | 6-1-3-t03 | No data shall follow the last end-of-file marker except a single optional end-of-line marker. | CosDocument | eofCompliesPDFA
20 | 6-1-3-t04 | In 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 identical | CosDocument | (isLinearized != true)|| lastID == null || (firstPageID == lastID)
21 | 6-1-4-t01 | In a cross reference subsection header the starting object number and the range shall be separated by a single SPACE character (20h) | CosXRef | xrefHeaderSpacingsComplyPDFA
22 | 6-1-4-t02 | The xref keyword and the cross reference subsection header shall be separated by a single EOL marker | CosXRef | xrefEOLMarkersComplyPDFA
23 | 6-1-6-t01 | Hexadecimal strings shall contain an even number of non-white-space characters | CosString | (isHex != true) || hexCount % 2 == 0
24 | 6-1-6-t02 | All non-white-space characters in hexadecimal strings shall be in the range 0 to 9, A to F or a to f | CosString | (isHex != true) || isHexSymbols
25 | 6-1-7-t01 | The 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 keyword | CosStream | isLengthCorrect
26 | 6-1-7-t02 | The 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 marker | CosStream | spacingCompliesPDFA
27 | 6-1-7-t03 | A stream object dictionary shall not contain the F, FFilter, or FDecodeParms keys | CosStream | F == null && FFilter == null && FDecodeParms == null
28 | 6-1-8-t01 | The 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. | CosIndirect | spacingCompliesPDFA
29 | 6-2-10-t01 | A content stream shall not contain any operators not defined in PDF Reference even if such operators are bracketed by the BX/EX compatibility operators | Op_Undefined | false
30 | 6-2-2-t01 | A 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 key | ICCOutputProfile | (deviceClass == "prtr" || deviceClass == "mntr") && (colorSpace == "RGB " || colorSpace == "CMYK" || colorSpace == "GRAY") && version <= 2.3
31 | 6-2-2-t02 | If 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 stream | PDOutputIntent | destOutputProfileRef == null || gOutputProfileRef == null || destOutputProfileRef == gOutputProfileRef
32 | 6-2-3-t01 | All ICCBased colour spaces shall be embedded as ICC profile streams as described in PDF Reference 4.5 | ICCInputProfile | (deviceClass == "prtr" || deviceClass == "mntr" || deviceClass == "scnr" || deviceClass == "spac") && (colorSpace == "RGB " || colorSpace == "CMYK" || colorSpace == "GRAY" || colorSpace == "LAB ") && version <= 2.3
33 | 6-2-3-t02 | DeviceRGB may be used only if the file has a PDF/A-1 OutputIntent that uses an RGB colour space | PDDeviceRGB | gOutputCS != null && gOutputCS == "RGB "
34 | 6-2-3-t03 | DeviceCMYK may be used only if the file has a PDF/A-1 OutputIntent that uses a CMYK colour space | PDDeviceCMYK | gOutputCS != null && gOutputCS == "CMYK"
35 | 6-2-3-t04 | If an uncalibrated colour space is used in a file then that file shall contain a PDF/A-1 OutputIntent, as defined in 6.2.2 | PDDeviceGray | gOutputCS != null
36 | 6-2-3-t05 | The 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 4 | ICCProfile | N != null && ((N == 1 && colorSpace == "GRAY") || (N == 3 && (colorSpace == "RGB " || colorSpace == "LAB ")) || (N == 4 && colorSpace == "CMYK"))
37 | 6-2-4-t01 | An Image dictionary shall not contain the Alternates key | PDXImage | Alternates_size == 0
38 | 6-2-4-t02 | An XObject dictionary (Image or Form) shall not contain the OPI key | PDXObject | OPI_size == 0
39 | 6-2-4-t03 | If an Image dictionary contains the Interpolate key, its value shall be false | PDXImage | Interpolate == false
40 | 6-2-5-t01 | A form XObject dictionary shall not contain the Subtype2 key with a value of PS or the PS key | PDXForm | (Subtype2 == null || Subtype2 != "PS") && PS_size == 0
41 | 6-2-6-t01 | A conforming file shall not contain any reference XObjects | PDXForm | Ref_size == 0
42 | 6-2-7-t01 | A conforming file shall not contain any PostScript XObjects | PDXObject | Subtype != "PS"
43 | 6-2-8-t01 | An ExtGState dictionary shall not contain the TR key | PDExtGState | TR == null
44 | 6-2-8-t02 | An ExtGState dictionary shall not contain the TR2 key with a value other than Default | PDExtGState | TR2 == null || TR2 == "Default"
45 | 6-2-9-t01 | Where a rendering intent is specified, its value shall be one of the four values defined in PDF Reference RelativeColorimetric, AbsoluteColorimetric, Perceptual or Saturation | CosRenderingIntent | value == "RelativeColorimetric" || value == "AbsoluteColorimetric" || value == "Perceptual" || value == "Saturation"
46 | 6-3-2-t01 | All 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 dictionary | PDFont | Type == "Font"
47 | 6-3-2-t02 | All 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 fonts | PDFont | Subtype == "Type1" || Subtype == "MMType1" || Subtype == "TrueType" || Subtype == "Type3" || Subtype == "Type0" || Subtype == "CIDFontType0" || Subtype == "CIDFontType2"
48 | 6-3-2-t03 | All 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 font | PDFont | Subtype == "Type3" || BaseFont != null
49 | 6-3-2-t04 | All 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 array | PDSimpleFont | isStandard == true || FirstChar != null
50 | 6-3-2-t05 | All 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 array | PDSimpleFont | isStandard == true || LastChar != null
51 | 6-3-2-t06 | All 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) widths | PDSimpleFont | isStandard == true || (Widths_size != null && Widths_size == LastChar - FirstChar + 1)
52 | 6-3-3-t01 | For any given composite (Type 0) font referenced within a conforming file, the CIDSystemInfo entries of its CIDFont and CMap dictionaries shall be compatible | PDType0Font | areRegistryOrderingCompatible == true
53 | 6-3-3-t02 | For 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.13 | PDCIDFont | Subtype != "CIDFontType2" || CIDToGIDMap != null
54 | 6-3-3-t03 | All 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.4 | PDCMap | CMapName == "Identity-H" || CMapName == "Identity-V" || embeddedFile_size == 1
55 | 6-3-4-t01 | The 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 3 | PDFont | Subtype == "Type3" || Subtype == "Type0" || fontFile_size == 1
56 | 6-3-5-t01 | Embedded font programs shall define all font glyphs referenced for rendering with a conforming file | Glyph | isGlyphPresent == true
57 | 6-3-5-t02 | For 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.18 | PDType1Font | BaseFont.search(/[A-Z]{6}\+/) != 0 || CharSet != null
58 | 6-3-5-t03 | For 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.20 | PDCIDFont | BaseFont.search(/[A-Z]{6}\+/) != 0 || CIDSet_size == 1
59 | 6-3-6-t01 | For 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 consistent | Glyph | isWidthConsistent == true
60 | 6-3-7-t01 | All 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. | PDTrueTypeFont | isSymbolic == true || (Encoding == "MacRomanEncoding" || Encoding == "WinAnsiEncoding")
61 | 6-3-7-t02 | All symbolic TrueType fonts shall not specify an Encoding entry in the font dictionary | PDTrueTypeFont | isSymbolic == false || Encoding == null
62 | 6-3-7-t03 | Font programs' "cmap" tables for all symbolic TrueType fonts shall contain exactly one encoding | TrueTypeFontProgram | isSymbolic == false || nrCmaps == 1
63 | 6-4-t01 | If an SMask key appears in an ExtGState dictionary, its value shall be None | PDExtGState | SMask == null || SMask == "None"
64 | 6-4-t02 | An XObject dictionary shall not contain the SMask key | PDXObject | SMask_size == 0
65 | 6-4-t03 | A 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 dictionary | PDGroup | S != "Transparency"
66 | 6-4-t04 | The following keys, if present in an ExtGState object, shall have the values shown: BM - Normal or Compatible | PDExtGState | BM == null || BM == "Normal" || BM == "Compatible"
67 | 6-4-t05 | The following keys, if present in an ExtGState object, shall have the values shown: CA - 1.0 | PDExtGState | CA == null || CA == 1.0
68 | 6-4-t06 | The following keys, if present in an ExtGState object, shall have the values shown: CA - 1.0 | PDExtGState | ca == null || ca == 1.0
69 | 6-5-2-t01 | Annotation types not defined in PDF Reference shall not be permitted. Additionally, the FileAttachment, Sound and Movie types shall not be permitted | PDAnnot | Subtype == "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"
70 | 6-5-3-t01 | An annotation dictionary shall not contain the CA key with a value other than 1.0 | PDAnnot | CA == null || CA == 1.0
71 | 6-5-3-t02 | An 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 0 | PDAnnot | F != null && (F & 4) == 4 && (F & 1) == 0 && (F & 2) == 0 && (F & 32) == 0
72 | 6-5-3-t03 | An 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 RGB | PDAnnot | (C_size == 0 && IC_size == 0) || gOutputCS == "RGB "
73 | 6-5-3-t04 | For 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. | PDAnnot | AP == null || ( AP == "N" && ( N_type == "Stream" || (FT == "Btn" && N_type == "Dict") ) )
74 | 6-6-1-t01 | The 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) | PDAction | S == "GoTo" || S == "GoToR" || S == "Thread" || S == "URI" || S == "Named" || S == "SubmitForm"
75 | 6-6-1-t02 | Named actions other than NextPage, PrevPage, FirstPage, and LastPage shall not be permitted | PDNamedAction | N == "NextPage" || N == "PrevPage" || N == "FirstPage" || N == "LastPage"
76 | 6-6-1-t03 | Interactive form fields shall not perform actions of any type | PDAnnot | Subtype != "Widget" || A_size == 0
77 | 6-6-2-t01 | A Widget annotation dictionary shall not include an AA entry for an additional-actions dictionary | PDAnnot | Subtype != "Widget" || AA_size == 0
78 | 6-6-2-t02 | A Field dictionary shall not include an AA entry for an additional-actions dictionary | PDFormField | AA_size == 0
79 | 6-6-2-t03 | The document catalog dictionary shall not include an AA entry for an additional-actions dictionary | PDDocument | AA_size == 0
80 | 6-7-11-t01 | The PDF/A version and conformance level of a file shall be specified using the PDF/A Identification extension schema. | XMPMainPackage | ispdfaidNSPresent
81 | 6-7-11-t02 | The PDF/A version and conformance level of a file shall be specified using the PDF/A Identification extension schema. | PDFAIdSchema | part == 1
82 | 6-7-11-t03 | The PDF/A version and conformance level of a file shall be specified using the PDF/A Identification extension schema. | PDFAIdSchema | conformance == "B"
83 | 6-7-11-t04 | The property "corr" is not specified in PDF/A Identification Schema in PDF/A-1 specification. | PDFAIdSchema | corr == null
84 | 6-7-11-t05 | The PDF/A Identification Schema has required prefix "pdfaid". | PDFAIdSchema | prefix == "pdfaid"
85 | 6-7-2-t01 | The document catalog dictionary of a conforming file shall contain the Metadata key. | PDDocument | metadata_size == 1
86 | 6-7-2-t02 | Metadata object stream dictionaries shall not contain the Filter key. | PDMetadata | Filter == null
87 | 6-7-3-t01 | If 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. | CosDocument | doesInfoMatchXMP
88 | 6-7-5-t01 | The bytes attribute shall not be used in the header of an XMP packet. | XMPPackage | bytes == null
89 | 6-7-5-t02 | The encoding attribute shall not be used in the header of an XMP packet. | XMPPackage | encoding == null
90 | 6-7-8-t01 | All extension schemas used in a conforming file shall have their descriptions embedded within that file in the metadata stream. | XMPCustomSchema | isDefinitionCorrect
91 | 6-7-8-t02 | All extension schemas used in a conforming file shall have their descriptions embedded within that file in the metadata stream. | XMPCustomSchema | isDefinedInThisPackage
92 | 6-7-8-t03 | The required PDF/A Extension Schema namespace prefix is pdfaExtension. | PDFAExtensionSchema | prefix == "pdfaExtension"
93 | 6-7-8-t04 | A PDF/A Field Schema namespace prefix is required to be "pdfaField". | PDFAExtensionSchema | isPDFAFieldPrefixCorrect
94 | 6-7-8-t05 | A PDF/A Property Schema namespace prefix is required to be "pdfaProperty". | PDFAExtensionSchema | isPDFAPropertyPrefixCorrect
95 | 6-7-8-t06 | A PDF/A Schema Description Schema namespace prefix is required to be "pdfaSchema". | PDFAExtensionSchema | isPDFASchemaPrefixCorrect
96 | 6-7-8-t07 | A PDF/A ValueType Schema namespace prefix is required to be "pdfaType". | PDFAExtensionSchema | isPDFATypePrefixCorrect
97 | 6-7-9-t01 | The metadata stream shall conform to XMP Specification. | XMPPackage | isMetadataValid
98 | 6-7-9-t02 | All predefined schemas shall conform to XMP specification. | XMPPredefinedSchema | unknownProperties == null
99 | 6-7-9-t03 | All predefined schemas shall conform to XMP specification. | XMPPredefinedSchema | wrongValueTypeProperties == null
100 | 6-9-t01 | The NeedAppearances flag of the interactive form dictionary shall either not be present or shall be false | PDAcroForm | NeedAppearances == null || NeedAppearances == false
101 | 6-9-t02 | A Widget annotation dictionary or Field dictionary shall not contain the A or AA keys | PDAnnot | Subtype != "Widget" || (A_size == 0 && AA_size == 0)
102 | 6-9-t03 | A Widget annotation dictionary or Field dictionary shall not contain the A or AA keys | PDFormField | AA_size == 0