1{"_id": "685ad06cbdb84d59207817a9", "createdDate": "2025-06-24T16:21:00.794Z", "jobID": "eq-449693", "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/DOS-Student-Disciplinary-Policy-2018-2019-FINAL.pdf", "size": 1822451}, "validationResult": [{"details": {"passedRules": 1718, "failedRules": 6, "passedChecks": 317368, "failedChecks": 44, "tags": ["artifact", "figure", "metadata", "alt-text", "syntax", "structure"], "ruleSummaries": [{"ruleStatus": "FAILED", "specification": "ISO 14289-2:2024", "clause": "5", "testNumber": 1, "status": "failed", "failedChecks": 1, "tags": ["metadata"], "description": "The PDF/UA version of a file shall be specified in the value of the Metadata entry in the document catalog using the PDF/UA identification schema", "object": "MainXMPPackage", "test": "containsPDFUAIdentification == true", "checks": [{"status": "failed", "context": "root/document[0]/metadata[0](128 0 obj PDMetadata)/XMPPackage[0]", "errorMessage": "The document metadata stream doesn't contain PDF/UA Identification Schema", "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 = dictionary(size = 1), DisplayDocTitle = null)", "errorArguments": ["dictionary(size = 1)", null]}]}, {"ruleStatus": "FAILED", "specification": "ISO 14289-2:2024", "clause": "8.2.2", "testNumber": 1, "status": "failed", "failedChecks": 32, "tags": ["artifact"], "description": "Content that is not considered real shall be an artifact", "object": "SESimpleContentItem", "test": "isTaggedContent == true || parentsTags.contains('Artifact') == true", "checks": [{"status": "failed", "context": "root/document[0]/pages[0](3747 0 obj PDPage)/contentStream[0]/operators[3]/xObject[0]/contentStream[0](3757 0 obj PDSemanticContentStream)/content[0]/contentItem[0]", "errorMessage": "Content is neither marked as Artifact nor tagged as real content", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[0](3747 0 obj PDPage)/contentStream[0]/operators[24]/xObject[0]/contentStream[0](3758 0 obj PDSemanticContentStream)/content[0]/contentItem[0]", "errorMessage": "Content is neither marked as Artifact nor tagged as real content", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[3](5 0 obj PDPage)/contentStream[0](6 0 obj PDSemanticContentStream)/operators[3]/xObject[0]/contentStream[0](89 0 obj PDSemanticContentStream)/content[0]/contentItem[0]", "errorMessage": "Content is neither marked as Artifact nor tagged as real content", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[3](5 0 obj PDPage)/contentStream[0](6 0 obj PDSemanticContentStream)/operators[24]/xObject[0]/contentStream[0](7 0 obj PDSemanticContentStream)/content[0]/contentItem[0]", "errorMessage": "Content is neither marked as Artifact nor tagged as real content", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[4](11 0 obj PDPage)/contentStream[0](12 0 obj PDSemanticContentStream)/content[0]/contentItem[0]", "errorMessage": "Content is neither marked as Artifact nor tagged as real content", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[4](11 0 obj PDPage)/contentStream[0](12 0 obj PDSemanticContentStream)/content[56]/contentItem[0]", "errorMessage": "Content is neither marked as Artifact nor tagged as real content", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[4](11 0 obj PDPage)/contentStream[0](12 0 obj PDSemanticContentStream)/operators[395]/xObject[0]/contentStream[0](13 0 obj PDSemanticContentStream)/content[0]/contentItem[0]", "errorMessage": "Content is neither marked as Artifact nor tagged as real content", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[6](17 0 obj PDPage)/contentStream[0](18 0 obj PDSemanticContentStream)/content[45]/contentItem[0]", "errorMessage": "Content is neither marked as Artifact nor tagged as real content", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[7](19 0 obj PDPage)/contentStream[0](20 0 obj PDSemanticContentStream)/content[2]/contentItem[0]", "errorMessage": "Content is neither marked as Artifact nor tagged as real content", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[7](19 0 obj PDPage)/contentStream[0](20 0 obj PDSemanticContentStream)/content[2]/contentItem[1]", "errorMessage": "Content is neither marked as Artifact nor tagged as real content", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[7](19 0 obj PDPage)/contentStream[0](20 0 obj PDSemanticContentStream)/content[63]/contentItem[0]", "errorMessage": "Content is neither marked as Artifact nor tagged as real content", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[11](27 0 obj PDPage)/contentStream[0](28 0 obj PDSemanticContentStream)/content[2]/contentItem[0]", "errorMessage": "Content is neither marked as Artifact nor tagged as real content", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[11](27 0 obj PDPage)/contentStream[0](28 0 obj PDSemanticContentStream)/content[66]/contentItem[0]", "errorMessage": "Content is neither marked as Artifact nor tagged as real content", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[14](33 0 obj PDPage)/contentStream[0](34 0 obj PDSemanticContentStream)/content[0]/contentItem[0]", "errorMessage": "Content is neither marked as Artifact nor tagged as real content", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[15](35 0 obj PDPage)/contentStream[0](36 0 obj PDSemanticContentStream)/content[2]/contentItem[0]", "errorMessage": "Content is neither marked as Artifact nor tagged as real content", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[16](37 0 obj PDPage)/contentStream[0](38 0 obj PDSemanticContentStream)/content[49]/contentItem[0]", "errorMessage": "Content is neither marked as Artifact nor tagged as real content", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[18](41 0 obj PDPage)/contentStream[0](42 0 obj PDSemanticContentStream)/content[57]/contentItem[0]", "errorMessage": "Content is neither marked as Artifact nor tagged as real content", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[20](45 0 obj PDPage)/contentStream[0](46 0 obj PDSemanticContentStream)/content[2]/contentItem[0]", "errorMessage": "Content is neither marked as Artifact nor tagged as real content", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[20](45 0 obj PDPage)/contentStream[0](46 0 obj PDSemanticContentStream)/content[56]/contentItem[0]", "errorMessage": "Content is neither marked as Artifact nor tagged as real content", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[23](51 0 obj PDPage)/contentStream[0](52 0 obj PDSemanticContentStream)/content[0]/contentItem[0]", "errorMessage": "Content is neither marked as Artifact nor tagged as real content", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[23](51 0 obj PDPage)/contentStream[0](52 0 obj PDSemanticContentStream)/content[67]/contentItem[0]", "errorMessage": "Content is neither marked as Artifact nor tagged as real content", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[25](55 0 obj PDPage)/contentStream[0](56 0 obj PDSemanticContentStream)/content[0]/contentItem[0]", "errorMessage": "Content is neither marked as Artifact nor tagged as real content", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[25](55 0 obj PDPage)/contentStream[0](56 0 obj PDSemanticContentStream)/content[52]/contentItem[0]", "errorMessage": "Content is neither marked as Artifact nor tagged as real content", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[26](57 0 obj PDPage)/contentStream[0](58 0 obj PDSemanticContentStream)/content[53]/contentItem[0]", "errorMessage": "Content is neither marked as Artifact nor tagged as real content", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[28](61 0 obj PDPage)/contentStream[0](62 0 obj PDSemanticContentStream)/content[45]/contentItem[0]", "errorMessage": "Content is neither marked as Artifact nor tagged as real content", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[29](63 0 obj PDPage)/contentStream[0](64 0 obj PDSemanticContentStream)/content[0]/contentItem[0]", "errorMessage": "Content is neither marked as Artifact nor tagged as real content", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[30](65 0 obj PDPage)/contentStream[0](66 0 obj PDSemanticContentStream)/content[35]/contentItem[0]", "errorMessage": "Content is neither marked as Artifact nor tagged as real content", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[31](67 0 obj PDPage)/contentStream[0](68 0 obj PDSemanticContentStream)/content[0]/contentItem[0]", "errorMessage": "Content is neither marked as Artifact nor tagged as real content", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[31](67 0 obj PDPage)/contentStream[0](68 0 obj PDSemanticContentStream)/content[16]/contentItem[0]", "errorMessage": "Content is neither marked as Artifact nor tagged as real content", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[33](73 0 obj PDPage)/contentStream[0](74 0 obj PDSemanticContentStream)/content[0]/contentItem[0]", "errorMessage": "Content is neither marked as Artifact nor tagged as real content", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[35](77 0 obj PDPage)/contentStream[0](78 0 obj PDSemanticContentStream)/content[0]/contentItem[0]", "errorMessage": "Content is neither marked as Artifact nor tagged as real content", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[36](79 0 obj PDPage)/contentStream[0](80 0 obj PDSemanticContentStream)/content[0]/contentItem[0]", "errorMessage": "Content is neither marked as Artifact nor tagged as real content", "errorArguments": []}]}, {"ruleStatus": "FAILED", "specification": "ISO 14289-2:2024", "clause": "8.11.1", "testNumber": 1, "status": "failed", "failedChecks": 1, "tags": ["metadata"], "description": "The Metadata stream as specified in ISO 32000-2:2020, 14.3 in the document catalog dictionary shall contain a dc:title entry", "object": "MainXMPPackage", "test": "dc_title != null", "checks": [{"status": "failed", "context": "root/document[0]/metadata[0](128 0 obj PDMetadata)/XMPPackage[0]", "errorMessage": "Metadata stream does not contain dc:title", "errorArguments": []}]}, {"ruleStatus": "FAILED", "specification": "ISO 14289-2:2024", "clause": "8.2.5.28.2", "testNumber": 1, "status": "failed", "failedChecks": 8, "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](145 0 obj PDStructTreeRoot)/K[0](147 0 obj SEDocument Document)/K[0](200 0 obj SEArt Article)/K[0](201 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](145 0 obj PDStructTreeRoot)/K[0](147 0 obj SEDocument Document)/K[0](200 0 obj SEArt Article)/K[1](202 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](145 0 obj PDStructTreeRoot)/K[0](147 0 obj SEDocument Document)/K[0](200 0 obj SEArt Article)/K[2](203 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](145 0 obj PDStructTreeRoot)/K[0](147 0 obj SEDocument Document)/K[0](200 0 obj SEArt Article)/K[4](205 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](145 0 obj PDStructTreeRoot)/K[0](147 0 obj SEDocument Document)/K[0](200 0 obj SEArt Article)/K[9](210 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](145 0 obj PDStructTreeRoot)/K[0](147 0 obj SEDocument Document)/K[0](200 0 obj SEArt Article)/K[39](240 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](145 0 obj PDStructTreeRoot)/K[0](147 0 obj SEDocument Document)/K[0](200 0 obj SEArt Article)/K[46](190 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](145 0 obj PDStructTreeRoot)/K[0](147 0 obj SEDocument Document)/K[0](200 0 obj SEArt Article)/K[48](199 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.2.5.2", "testNumber": 2, "status": "failed", "failedChecks": 1, "tags": ["structure"], "description": "The structure tree root shall contain a single Document structure element as its only child. The namespace for that element shall be specified as the PDF 2.0 namespace", "object": "PDStructTreeRoot", "test": "kidsStandardTypes != 'Document' || firstChildStandardTypeNamespaceURL == 'http://iso.org/pdf2/ssn'", "checks": [{"status": "failed", "context": "root/document[0]/StructTreeRoot[0](145 0 obj PDStructTreeRoot)", "errorMessage": "The structure tree root contains a single Document structure element, but this element is not within the PDF 2.0 namespace (namespace URI = http://iso.org/pdf/ssn)", "errorArguments": ["http://iso.org/pdf/ssn"]}]}]}, "jobEndStatus": "normal", "profileName": "PDF/UA-2 + Tagged PDF validation profile", "statement": "PDF file is not compliant with Validation Profile requirements.", "compliant": false}], "processingTime": {"start": 1750782054757, "finish": 1750782060595, "duration": "00:00:05.838", "difference": 5838}}], "batchSummary": {"duration": {"start": 1750782054508, "finish": 1750782060730, "duration": "00:00:06.222", "difference": 6222}, "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}}}}