📦 EqualifyEverything / equalify-uic-analysis

📄 job_eq-449744.json · 1 lines
1{"_id": "685ad100eb03a9e478ff5226", "createdDate": "2025-06-24T16:23:28.679Z", "jobID": "eq-449744", "PDFresults": {"report": {"buildInformation": {"releaseDetails": [{"id": "core", "version": "1.28.1", "buildDate": 1745946180000}, {"id": "validation-model", "version": "1.28.1", "buildDate": 1745953500000}, {"id": "gui", "version": "1.28.1", "buildDate": 1748123640000}]}, "jobs": [{"itemDetails": {"name": "/home/pdf-worker/www/dist/scanners/AH-209-Art-and-Arch-Near-East-Syllabus.pdf", "size": 1140420}, "validationResult": [{"details": {"passedRules": 1712, "failedRules": 12, "passedChecks": 38918, "failedChecks": 200, "tags": ["paragraph", "figure", "metadata", "alt-text", "syntax", "text", "list", "structure", "table", "font"], "ruleSummaries": [{"ruleStatus": "FAILED", "specification": "ISO 32005:2023", "clause": "Table 5. StructTreeRoot-Table", "testNumber": 1, "status": "failed", "failedChecks": 1, "tags": ["structure", "table"], "description": "StructTreeRoot shall not contain <Table>", "object": "SETable", "test": "parentStandardType != 'StructTreeRoot'", "checks": [{"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[8](103 0 obj SETable Table)", "errorMessage": "StructTreeRoot contains <Table>", "errorArguments": []}]}, {"ruleStatus": "FAILED", "specification": "ISO 14289-2:2024", "clause": "8.11.1", "testNumber": 2, "status": "failed", "failedChecks": 1, "tags": ["metadata"], "description": "The Catalog dictionary of a conforming file shall contain the Metadata key whose value is a metadata stream as defined in ISO 32000-2:2020, 14.3. The metadata stream dictionary shall contain entry Type with value /Metadata and entry Subtype with value /XML", "object": "PDDocument", "test": "containsMetadata == true", "checks": [{"status": "failed", "context": "root/document[0]", "errorMessage": "The document catalog dictionary doesn't contain metadata key or metadata stream dictionary does not contain either entry Type with value /Metadata or entry Subtype with value /XML", "errorArguments": []}]}, {"ruleStatus": "FAILED", "specification": "ISO 32005:2023", "clause": "Table 5. StructTreeRoot-Document", "testNumber": 1, "status": "failed", "failedChecks": 1, "tags": ["structure"], "description": "StructTreeRoot shall contain exactly one <Document>", "object": "PDStructTreeRoot", "test": "kidsStandardTypes.split('&').filter(elem => elem == 'Document').length == 1", "checks": [{"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)", "errorMessage": "StructTreeRoot either doesn't contain or contains more than one <Document>", "errorArguments": []}]}, {"ruleStatus": "FAILED", "specification": "ISO 32005:2023", "clause": "Table 5. StructTreeRoot-Part", "testNumber": 1, "status": "failed", "failedChecks": 1, "tags": ["structure"], "description": "StructTreeRoot shall not contain <Part>", "object": "SEPart", "test": "parentStandardType != 'StructTreeRoot'", "checks": [{"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)", "errorMessage": "StructTreeRoot contains <Part>", "errorArguments": []}]}, {"ruleStatus": "FAILED", "specification": "ISO 14289-2:2024", "clause": "8.4.3", "testNumber": 1, "status": "failed", "failedChecks": 7, "tags": ["alt-text", "text"], "description": "In all cases, where real content maps to Unicode PUA values, an ActualText or Alt entry shall be present", "object": "Glyph", "test": "isRealContent == false || unicodePUA == false || actualTextPresent == true || altPresent == true", "checks": [{"status": "failed", "context": "root/document[0]/pages[2](24 0 obj PDPage)/contentStream[0](25 0 obj PDSemanticContentStream)/operators[1122]/usedGlyphs[0](SymbolMT SymbolMT 120 0 1195064186 3 true)", "errorMessage": "Real content maps to Unicode PUA values, but ActualText and Alt entry are not present", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[2](24 0 obj PDPage)/contentStream[0](25 0 obj PDSemanticContentStream)/operators[1261]/usedGlyphs[0](SymbolMT SymbolMT 120 0 1539088279 3 true)", "errorMessage": "Real content maps to Unicode PUA values, but ActualText and Alt entry are not present", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[3](36 0 obj PDPage)/contentStream[0](37 0 obj PDSemanticContentStream)/operators[178]/usedGlyphs[0](SymbolMT SymbolMT 120 0 226586078 5 true)", "errorMessage": "Real content maps to Unicode PUA values, but ActualText and Alt entry are not present", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[3](36 0 obj PDPage)/contentStream[0](37 0 obj PDSemanticContentStream)/operators[716]/usedGlyphs[0](SymbolMT SymbolMT 120 0 1848886161 5 true)", "errorMessage": "Real content maps to Unicode PUA values, but ActualText and Alt entry are not present", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[3](36 0 obj PDPage)/contentStream[0](37 0 obj PDSemanticContentStream)/operators[975]/usedGlyphs[0](SymbolMT SymbolMT 120 0 1816468636 5 true)", "errorMessage": "Real content maps to Unicode PUA values, but ActualText and Alt entry are not present", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[3](36 0 obj PDPage)/contentStream[0](37 0 obj PDSemanticContentStream)/operators[2503]/usedGlyphs[0](SymbolMT SymbolMT 120 0 712732521 5 true)", "errorMessage": "Real content maps to Unicode PUA values, but ActualText and Alt entry are not present", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[3](36 0 obj PDPage)/contentStream[0](37 0 obj PDSemanticContentStream)/operators[2674]/usedGlyphs[0](SymbolMT SymbolMT 120 0 540092563 5 true)", "errorMessage": "Real content maps to Unicode PUA values, but ActualText and Alt entry are not present", "errorArguments": []}]}, {"ruleStatus": "FAILED", "specification": "ISO 14289-2:2024", "clause": "8.2.5.2", "testNumber": 1, "status": "failed", "failedChecks": 1, "tags": ["structure"], "description": "The structure tree root shall contain a single Document structure element as its only child, as specified in ISO 32000-2:2020, Annex L and ISO/TS 32005", "object": "PDStructTreeRoot", "test": "kidsStandardTypes == 'Document'", "checks": [{"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)", "errorMessage": "The structure tree root contains P,P,P,P,P,Figure,P,P,Table,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,L,P,L,P,P,P,P,P,L,P,P,P,P,P,P,L,P,P,P,P,P,P,P,P,P,P,P,P,Figure,P,P,P,P,P,Figure,P,P,P,P,P,P,P,P,P,Figure,P,P,P,P,P,Figure,P,P,P,P,P,P,Figure,P,P,P,P,P,P,P,P,Figure,P,P,P,P,P,P,Figure,P,P,P,P,Figure,P,P,P,P,P,P,P,Figure,P,P,P,P,P,P,Figure,P,P,P,P,P,P,P,P,P,P,Figure,P,P,Figure,P,P,Figure,P,P,P,P,P,P,P,P,P,P,P,Figure,P,P,P,P,P,P,P,P,P,P,P,P,Figure,P,P,P,P,P,P,P,P,P,Figure,P,P,P,P,P,P,P,P,P,P,P,P,P,P element(s) instead of a single Document structure element", "errorArguments": ["P,P,P,P,P,Figure,P,P,Table,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,L,P,L,P,P,P,P,P,L,P,P,P,P,P,P,L,P,P,P,P,P,P,P,P,P,P,P,P,Figure,P,P,P,P,P,Figure,P,P,P,P,P,P,P,P,P,Figure,P,P,P,P,P,Figure,P,P,P,P,P,P,Figure,P,P,P,P,P,P,P,P,Figure,P,P,P,P,P,P,Figure,P,P,P,P,Figure,P,P,P,P,P,P,P,Figure,P,P,P,P,P,P,Figure,P,P,P,P,P,P,P,P,P,P,Figure,P,P,Figure,P,P,Figure,P,P,P,P,P,P,P,P,P,P,P,Figure,P,P,P,P,P,P,P,P,P,P,P,P,Figure,P,P,P,P,P,P,P,P,P,Figure,P,P,P,P,P,P,P,P,P,P,P,P,P,P"]}]}, {"ruleStatus": "FAILED", "specification": "ISO 32005:2023", "clause": "Table 5. StructTreeRoot-Figure", "testNumber": 1, "status": "failed", "failedChecks": 17, "tags": ["figure", "structure"], "description": "StructTreeRoot shall not contain <Figure>", "object": "SEFigure", "test": "parentStandardType != 'StructTreeRoot'", "checks": [{"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[5](100 0 obj SEFigure Figure)", "errorMessage": "StructTreeRoot contains <Figure>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[52](197 0 obj SEFigure Figure)", "errorMessage": "StructTreeRoot contains <Figure>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[58](203 0 obj SEFigure Figure)", "errorMessage": "StructTreeRoot contains <Figure>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[68](213 0 obj SEFigure Figure)", "errorMessage": "StructTreeRoot contains <Figure>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[74](220 0 obj SEFigure Figure)", "errorMessage": "StructTreeRoot contains <Figure>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[81](227 0 obj SEFigure Figure)", "errorMessage": "StructTreeRoot contains <Figure>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[90](236 0 obj SEFigure Figure)", "errorMessage": "StructTreeRoot contains <Figure>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[97](244 0 obj SEFigure Figure)", "errorMessage": "StructTreeRoot contains <Figure>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[102](254 0 obj SEFigure Figure)", "errorMessage": "StructTreeRoot contains <Figure>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[110](262 0 obj SEFigure Figure)", "errorMessage": "StructTreeRoot contains <Figure>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[117](270 0 obj SEFigure Figure)", "errorMessage": "StructTreeRoot contains <Figure>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[128](281 0 obj SEFigure Figure)", "errorMessage": "StructTreeRoot contains <Figure>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[131](284 0 obj SEFigure Figure)", "errorMessage": "StructTreeRoot contains <Figure>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[134](287 0 obj SEFigure Figure)", "errorMessage": "StructTreeRoot contains <Figure>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[146](300 0 obj SEFigure Figure)", "errorMessage": "StructTreeRoot contains <Figure>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[159](313 0 obj SEFigure Figure)", "errorMessage": "StructTreeRoot contains <Figure>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[169](324 0 obj SEFigure Figure)", "errorMessage": "StructTreeRoot contains <Figure>", "errorArguments": []}]}, {"ruleStatus": "FAILED", "specification": "ISO 32005:2023", "clause": "Table 5. StructTreeRoot-L", "testNumber": 1, "status": "failed", "failedChecks": 4, "tags": ["list", "structure"], "description": "StructTreeRoot shall not contain <L>", "object": "SEL", "test": "parentStandardType != 'StructTreeRoot'", "checks": [{"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[24](140 0 obj SEL L)", "errorMessage": "StructTreeRoot contains <L>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[26](144 0 obj SEL L)", "errorMessage": "StructTreeRoot contains <L>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[32](157 0 obj SEL L)", "errorMessage": "StructTreeRoot contains <L>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[39](170 0 obj SEL L)", "errorMessage": "StructTreeRoot contains <L>", "errorArguments": []}]}, {"ruleStatus": "FAILED", "specification": "ISO 14289-2:2024", "clause": "8.2.5.28.2", "testNumber": 1, "status": "failed", "failedChecks": 2, "tags": ["figure", "alt-text", "structure"], "description": "A Figure structure element shall have at least one of the following properties: a) an alternate description (Alt property), as specified in ISO 32000-2:2020, 14.9.3; b) a replacement text (ActualText property) that represents the content enclosed by the Figure structure element", "object": "SEFigure", "test": "Alt != null || ActualText != null", "checks": [{"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[128](281 0 obj SEFigure Figure)", "errorMessage": "Figure structure element neither has an alternate description nor a replacement text", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[131](284 0 obj SEFigure Figure)", "errorMessage": "Figure structure element neither has an alternate description nor a replacement text", "errorArguments": []}]}, {"ruleStatus": "FAILED", "specification": "ISO 14289-2:2024", "clause": "8.4.5.5.1", "testNumber": 1, "status": "failed", "failedChecks": 2, "tags": ["font"], "description": "The font programs for all fonts used for rendering within a conforming file shall be embedded within that file, as defined in ISO 32000-2:2020, 9.9", "object": "PDFont", "test": "Subtype == \"Type3\" || Subtype == \"Type0\" || renderingMode == 3 || containsFontFile == true", "checks": [{"status": "failed", "context": "root/document[0]/pages[0](3 0 obj PDPage)/contentStream[0](4 0 obj PDSemanticContentStream)/operators[12]/font[0](TimesNewRomanPSMT)", "errorMessage": "The font program is not embedded", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[2](24 0 obj PDPage)/contentStream[0](25 0 obj PDSemanticContentStream)/operators[1134]/font[0](ArialMT)", "errorMessage": "The font program is not embedded", "errorArguments": []}]}, {"ruleStatus": "FAILED", "specification": "ISO 32005:2023", "clause": "Table 5. StructTreeRoot-P", "testNumber": 1, "status": "failed", "failedChecks": 162, "tags": ["paragraph", "structure"], "description": "StructTreeRoot shall not contain <P>", "object": "SEP", "test": "parentStandardType != 'StructTreeRoot'", "checks": [{"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[0](93 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[1](96 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[2](97 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[3](98 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[4](99 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[6](101 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[7](102 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[9](123 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[10](124 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[11](125 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[12](126 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[13](128 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[14](129 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[15](130 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[16](131 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[17](132 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[18](133 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[19](135 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[20](136 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[21](137 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[22](138 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[23](139 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[25](143 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[27](147 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[28](152 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[29](153 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[30](154 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[31](156 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[33](164 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[34](165 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[35](166 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[36](167 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[37](168 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[38](169 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[40](175 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[41](176 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[42](178 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[43](179 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[44](180 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[45](181 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[46](182 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[47](187 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[48](192 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[49](193 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[50](195 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[51](196 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[53](198 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[54](199 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[55](200 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[56](201 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[57](202 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[59](204 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[60](205 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[61](206 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[62](207 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[63](208 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[64](209 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[65](210 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[66](211 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[67](212 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[69](214 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[70](215 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[71](216 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[72](217 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[73](219 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[75](221 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[76](222 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[77](223 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[78](224 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[79](225 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[80](226 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[82](228 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[83](229 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[84](230 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[85](231 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[86](232 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[87](233 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[88](234 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[89](235 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[91](237 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[92](238 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[93](239 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[94](240 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[95](242 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[96](243 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[98](245 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[99](251 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[100](252 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[101](253 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[103](255 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[104](256 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[105](257 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[106](258 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[107](259 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[108](260 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[109](261 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[111](263 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[112](264 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[113](265 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](89 0 obj PDStructTreeRoot)/K[0](92 0 obj SEPart Part)/K[114](266 0 obj SEP P)", "errorMessage": "StructTreeRoot contains <P>", "errorArguments": []}]}, {"ruleStatus": "FAILED", "specification": "ISO 14289-2:2024", "clause": "8.11.2", "testNumber": 1, "status": "failed", "failedChecks": 1, "tags": ["syntax"], "description": "The ViewerPreferences dictionary of the document catalog dictionary shall be present and shall contain at least the DisplayDocTitle key with a value of true, as described in ISO 32000-2:2020, Table 147", "object": "CosDocument", "test": "DisplayDocTitle == true", "checks": [{"status": "failed", "context": "root", "errorMessage": "ViewerPreferences dictionary is not present in the document Catalog, or DisplayDocTitle key is set to false or is not present in the ViewerPreferences dictionary (ViewerPreferences = null, DisplayDocTitle = null)", "errorArguments": [null, null]}]}]}, "jobEndStatus": "normal", "profileName": "PDF/UA-2 + Tagged PDF validation profile", "statement": "PDF file is not compliant with Validation Profile requirements.", "compliant": false}], "processingTime": {"start": 1750782205487, "finish": 1750782208514, "duration": "00:00:03.027", "difference": 3027}}], "batchSummary": {"duration": {"start": 1750782205275, "finish": 1750782208631, "duration": "00:00:03.356", "difference": 3356}, "totalJobs": 1, "outOfMemory": 0, "veraExceptions": 0, "failedEncryptedJobs": 0, "failedParsingJobs": 0, "validationSummary": {"nonCompliantPdfaCount": 1, "compliantPdfaCount": 0, "failedJobCount": 0, "totalJobCount": 1, "successfulJobCount": 1}, "featuresSummary": {"failedJobCount": 0, "totalJobCount": 0, "successfulJobCount": 0}, "repairSummary": {"failedJobCount": 0, "totalJobCount": 0, "successfulJobCount": 0}, "multiJob": false}}}}