📦 EqualifyEverything / equalify-uic-analysis

📄 job_eq-450081.json · 1 lines
1{"_id": "685ad409c7195815bd413000", "createdDate": "2025-06-24T16:36:25.552Z", "jobID": "eq-450081", "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/proposal_program-of-study.pdf", "size": 109474}, "validationResult": [{"details": {"passedRules": 1717, "failedRules": 7, "passedChecks": 44825, "failedChecks": 57, "tags": ["paragraph", "metadata", "syntax", "structure", "font"], "ruleSummaries": [{"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](36 0 obj PDStructTreeRoot)", "errorMessage": "The structure tree root contains Sect element(s) instead of a single Document structure element", "errorArguments": ["Sect"]}]}, {"ruleStatus": "FAILED", "specification": "ISO 32005:2023", "clause": "Table 5. TR-P", "testNumber": 1, "status": "failed", "failedChecks": 51, "tags": ["paragraph", "structure"], "description": "<TR> shall not contain <P>", "object": "SEP", "test": "parentStandardType != 'TR'", "checks": [{"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[6](869 0 obj SETable Table)/K[0](871 0 obj SETR TR)/K[0](544 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[6](869 0 obj SETable Table)/K[1](872 0 obj SETR TR)/K[0](547 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[6](869 0 obj SETable Table)/K[2](873 0 obj SETR TR)/K[0](550 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[6](869 0 obj SETable Table)/K[3](868 0 obj SETR TR)/K[0](553 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[13](851 0 obj SETable Table)/K[0](853 0 obj SETR TR)/K[0](566 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[13](851 0 obj SETable Table)/K[1](854 0 obj SETR TR)/K[0](570 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[13](851 0 obj SETable Table)/K[2](855 0 obj SETR TR)/K[0](577 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[13](851 0 obj SETable Table)/K[3](850 0 obj SETR TR)/K[0](581 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[20](723 0 obj SETable Table)/K[0](725 0 obj SETR TR)/K[0](604 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[20](723 0 obj SETable Table)/K[1](726 0 obj SETR TR)/K[0](613 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[20](723 0 obj SETable Table)/K[2](727 0 obj SETR TR)/K[0](622 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[20](723 0 obj SETable Table)/K[3](728 0 obj SETR TR)/K[0](631 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[20](723 0 obj SETable Table)/K[4](729 0 obj SETR TR)/K[0](640 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[20](723 0 obj SETable Table)/K[5](730 0 obj SETR TR)/K[0](649 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[20](723 0 obj SETable Table)/K[6](731 0 obj SETR TR)/K[0](658 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[20](723 0 obj SETable Table)/K[7](732 0 obj SETR TR)/K[0](667 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[20](723 0 obj SETable Table)/K[8](733 0 obj SETR TR)/K[0](676 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[20](723 0 obj SETable Table)/K[9](734 0 obj SETR TR)/K[0](685 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[20](723 0 obj SETable Table)/K[10](735 0 obj SETR TR)/K[0](694 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[20](723 0 obj SETable Table)/K[11](736 0 obj SETR TR)/K[0](703 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[20](723 0 obj SETable Table)/K[12](737 0 obj SETR TR)/K[0](712 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[20](723 0 obj SETable Table)/K[13](722 0 obj SETR TR)/K[0](721 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[25](531 0 obj SETable Table)/K[0](530 0 obj SETR TR)/K[0](490 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[32](527 0 obj SETable Table)/K[0](526 0 obj SETR TR)/K[0](503 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[39](523 0 obj SETable Table)/K[0](522 0 obj SETR TR)/K[0](515 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[46](237 0 obj SETable Table)/K[0](239 0 obj SETR TR)/K[0](446 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[46](237 0 obj SETable Table)/K[1](240 0 obj SETR TR)/K[0](429 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[46](237 0 obj SETable Table)/K[2](241 0 obj SETR TR)/K[0](412 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[46](237 0 obj SETable Table)/K[3](242 0 obj SETR TR)/K[0](395 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[46](237 0 obj SETable Table)/K[4](243 0 obj SETR TR)/K[0](378 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[46](237 0 obj SETable Table)/K[5](244 0 obj SETR TR)/K[0](361 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[46](237 0 obj SETable Table)/K[6](245 0 obj SETR TR)/K[0](336 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[46](237 0 obj SETable Table)/K[7](246 0 obj SETR TR)/K[0](51 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[46](237 0 obj SETable Table)/K[8](247 0 obj SETR TR)/K[0](60 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[46](237 0 obj SETable Table)/K[9](248 0 obj SETR TR)/K[0](69 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[46](237 0 obj SETable Table)/K[10](249 0 obj SETR TR)/K[0](78 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[46](237 0 obj SETable Table)/K[11](250 0 obj SETR TR)/K[0](87 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[46](237 0 obj SETable Table)/K[12](251 0 obj SETR TR)/K[0](96 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[46](237 0 obj SETable Table)/K[13](252 0 obj SETR TR)/K[0](113 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[46](237 0 obj SETable Table)/K[14](253 0 obj SETR TR)/K[0](122 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[46](237 0 obj SETable Table)/K[15](254 0 obj SETR TR)/K[0](131 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[46](237 0 obj SETable Table)/K[16](255 0 obj SETR TR)/K[0](140 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[46](237 0 obj SETable Table)/K[17](236 0 obj SETR TR)/K[0](149 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[52](233 0 obj SETable Table)/K[0](232 0 obj SETR TR)/K[0](159 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[59](203 0 obj SETable Table)/K[0](205 0 obj SETR TR)/K[0](172 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[59](203 0 obj SETable Table)/K[1](206 0 obj SETR TR)/K[0](176 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[59](203 0 obj SETable Table)/K[2](207 0 obj SETR TR)/K[0](183 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[59](203 0 obj SETable Table)/K[3](208 0 obj SETR TR)/K[0](187 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[59](203 0 obj SETable Table)/K[4](209 0 obj SETR TR)/K[0](191 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[59](203 0 obj SETable Table)/K[5](210 0 obj SETR TR)/K[0](195 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)/K[59](203 0 obj SETable Table)/K[6](202 0 obj SETR TR)/K[0](199 0 obj SEP Artifact)", "errorMessage": "<TR> contains <P>", "errorArguments": []}]}, {"ruleStatus": "FAILED", "specification": "ISO 32005:2023", "clause": "Table 5. StructTreeRoot-Sect", "testNumber": 1, "status": "failed", "failedChecks": 1, "tags": ["structure"], "description": "StructTreeRoot shall not contain <Sect>", "object": "SESect", "test": "parentStandardType != 'StructTreeRoot'", "checks": [{"status": "failed", "context": "root/document[0]/StructTreeRoot[0](36 0 obj PDStructTreeRoot)/K[0](37 0 obj SESect Sect)", "errorMessage": "StructTreeRoot contains <Sect>", "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](36 0 obj PDStructTreeRoot)", "errorMessage": "StructTreeRoot either doesn't contain or contains more than one <Document>", "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](22 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.4.5.5.1", "testNumber": 1, "status": "failed", "failedChecks": 1, "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](886 0 obj PDPage)/contentStream[0]/operators[39]/font[0](Arial-Black)", "errorMessage": "The font program is not embedded", "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": 1750782981753, "finish": 1750782985377, "duration": "00:00:03.624", "difference": 3624}}], "batchSummary": {"duration": {"start": 1750782981554, "finish": 1750782985495, "duration": "00:00:03.941", "difference": 3941}, "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}}}}