📦 EqualifyEverything / equalify-uic-analysis

📄 job_eq-449826.json · 1 lines
1{"_id": "685ad1cfc7195815bd412fa7", "createdDate": "2025-06-24T16:26:55.773Z", "jobID": "eq-449826", "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/Courseleaf-Instructions-and-Editing-Guide.pdf", "size": 473420}, "validationResult": [{"details": {"passedRules": 1720, "failedRules": 4, "passedChecks": 22959, "failedChecks": 34, "tags": ["figure", "metadata", "alt-text", "syntax", "structure"], "ruleSummaries": [{"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]}]}, {"ruleStatus": "FAILED", "specification": "ISO 14289-2:2024", "clause": "8.8", "testNumber": 2, "status": "failed", "failedChecks": 5, "tags": ["syntax"], "description": "All destinations whose target lies within the current document shall be structure destinations", "object": "PDGoToAction", "test": "containsStructDestination == true", "checks": [{"status": "failed", "context": "root/document[0]/pages[1](1 0 obj PDPage)/annots[0](323 0 obj PDLinkAnnot)/A[0](324 0 obj PDGoToAction)", "errorMessage": "Destination in GoTo action is not a structure destination", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[1](1 0 obj PDPage)/annots[1](321 0 obj PDLinkAnnot)/A[0](322 0 obj PDGoToAction)", "errorMessage": "Destination in GoTo action is not a structure destination", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[1](1 0 obj PDPage)/annots[2](319 0 obj PDLinkAnnot)/A[0](320 0 obj PDGoToAction)", "errorMessage": "Destination in GoTo action is not a structure destination", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[1](1 0 obj PDPage)/annots[3](317 0 obj PDLinkAnnot)/A[0](318 0 obj PDGoToAction)", "errorMessage": "Destination in GoTo action is not a structure destination", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[1](1 0 obj PDPage)/annots[4](315 0 obj PDLinkAnnot)/A[0](316 0 obj PDGoToAction)", "errorMessage": "Destination in GoTo action is not a structure destination", "errorArguments": []}]}, {"ruleStatus": "FAILED", "specification": "ISO 14289-2:2024", "clause": "8.2.5.28.2", "testNumber": 1, "status": "failed", "failedChecks": 27, "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](58 0 obj PDStructTreeRoot)/K[0](59 0 obj SEDocument Document)/K[0](87 0 obj SESect Sect)/K[3](91 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](58 0 obj PDStructTreeRoot)/K[0](59 0 obj SEDocument Document)/K[0](87 0 obj SESect Sect)/K[6](94 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](58 0 obj PDStructTreeRoot)/K[0](59 0 obj SEDocument Document)/K[0](87 0 obj SESect Sect)/K[9](97 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](58 0 obj PDStructTreeRoot)/K[0](59 0 obj SEDocument Document)/K[0](87 0 obj SESect Sect)/K[10](98 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](58 0 obj PDStructTreeRoot)/K[0](59 0 obj SEDocument Document)/K[0](87 0 obj SESect Sect)/K[13](101 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](58 0 obj PDStructTreeRoot)/K[0](59 0 obj SEDocument Document)/K[0](87 0 obj SESect Sect)/K[23](111 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](58 0 obj PDStructTreeRoot)/K[0](59 0 obj SEDocument Document)/K[0](87 0 obj SESect Sect)/K[28](116 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](58 0 obj PDStructTreeRoot)/K[0](59 0 obj SEDocument Document)/K[0](87 0 obj SESect Sect)/K[33](121 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](58 0 obj PDStructTreeRoot)/K[0](59 0 obj SEDocument Document)/K[0](87 0 obj SESect Sect)/K[40](128 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](58 0 obj PDStructTreeRoot)/K[0](59 0 obj SEDocument Document)/K[0](87 0 obj SESect Sect)/K[43](131 0 obj SEArt TextBox)/K[1](266 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](58 0 obj PDStructTreeRoot)/K[0](59 0 obj SEDocument Document)/K[0](87 0 obj SESect Sect)/K[44](132 0 obj SEArt TextBox)/K[1](263 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](58 0 obj PDStructTreeRoot)/K[0](59 0 obj SEDocument Document)/K[0](87 0 obj SESect Sect)/K[45](133 0 obj SEArt TextBox)/K[1](260 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](58 0 obj PDStructTreeRoot)/K[0](59 0 obj SEDocument Document)/K[0](87 0 obj SESect Sect)/K[46](134 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](58 0 obj PDStructTreeRoot)/K[0](59 0 obj SEDocument Document)/K[0](87 0 obj SESect Sect)/K[47](135 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](58 0 obj PDStructTreeRoot)/K[0](59 0 obj SEDocument Document)/K[0](87 0 obj SESect Sect)/K[48](136 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](58 0 obj PDStructTreeRoot)/K[0](59 0 obj SEDocument Document)/K[0](87 0 obj SESect Sect)/K[49](137 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](58 0 obj PDStructTreeRoot)/K[0](59 0 obj SEDocument Document)/K[0](87 0 obj SESect Sect)/K[50](138 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](58 0 obj PDStructTreeRoot)/K[0](59 0 obj SEDocument Document)/K[0](87 0 obj SESect Sect)/K[52](140 0 obj SEArt TextBox)/K[1](252 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](58 0 obj PDStructTreeRoot)/K[0](59 0 obj SEDocument Document)/K[0](87 0 obj SESect Sect)/K[60](148 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](58 0 obj PDStructTreeRoot)/K[0](59 0 obj SEDocument Document)/K[0](87 0 obj SESect Sect)/K[63](151 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](58 0 obj PDStructTreeRoot)/K[0](59 0 obj SEDocument Document)/K[0](87 0 obj SESect Sect)/K[69](157 0 obj SEArt TextBox)/K[18](235 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](58 0 obj PDStructTreeRoot)/K[0](59 0 obj SEDocument Document)/K[0](87 0 obj SESect Sect)/K[70](158 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](58 0 obj PDStructTreeRoot)/K[0](59 0 obj SEDocument Document)/K[0](87 0 obj SESect Sect)/K[70](158 0 obj SEFigure Figure)/K[0](206 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](58 0 obj PDStructTreeRoot)/K[0](59 0 obj SEDocument Document)/K[0](87 0 obj SESect Sect)/K[82](170 0 obj SEArt TextBox)/K[8](204 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](58 0 obj PDStructTreeRoot)/K[0](59 0 obj SEDocument Document)/K[0](87 0 obj SESect Sect)/K[86](174 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](58 0 obj PDStructTreeRoot)/K[0](59 0 obj SEDocument Document)/K[0](87 0 obj SESect Sect)/K[92](85 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](58 0 obj PDStructTreeRoot)/K[0](59 0 obj SEDocument Document)/K[0](87 0 obj SESect Sect)/K[93](84 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": "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](41 0 obj PDMetadata)/XMPPackage[0]", "errorMessage": "The document metadata stream doesn't contain PDF/UA Identification Schema", "errorArguments": []}]}]}, "jobEndStatus": "normal", "profileName": "PDF/UA-2 + Tagged PDF validation profile", "statement": "PDF file is not compliant with Validation Profile requirements.", "compliant": false}], "processingTime": {"start": 1750782412415, "finish": 1750782415607, "duration": "00:00:03.192", "difference": 3192}}], "batchSummary": {"duration": {"start": 1750782412211, "finish": 1750782415716, "duration": "00:00:03.505", "difference": 3505}, "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}}}}