📦 EqualifyEverything / equalify-uic-analysis

📄 job_eq-450095.json · 1 lines
1{"_id": "685ad447c7195815bd41300b", "createdDate": "2025-06-24T16:37:27.747Z", "jobID": "eq-450095", "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/compproc-v2.pdf", "size": 84016}, "validationResult": [{"details": {"passedRules": 1714, "failedRules": 10, "passedChecks": 10392, "failedChecks": 21, "tags": ["paragraph", "metadata", "syntax", "lang", "list", "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](15 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. 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](15 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](13 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 = null, DisplayDocTitle = null)", "errorArguments": [null, null]}]}, {"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[1](1 0 obj PDPage)/contentStream[0](2 0 obj PDSemanticContentStream)/operators[949]/font[0](ArialMT)", "errorMessage": "The font program is not embedded", "errorArguments": []}]}, {"ruleStatus": "FAILED", "specification": "ISO 14289-2:2024", "clause": "8.2.4", "testNumber": 1, "status": "failed", "failedChecks": 4, "tags": ["structure"], "description": "All structure elements shall belong to, or be role mapped to, at least one of the following namespaces specified in ISO 32000-2:2020, 14.8.6: \u2014 the PDF 1.7 namespace; \u2014 the PDF 2.0 namespace; \u2014 the MathML namespace", "object": "SENonStandard", "test": "isNotMappedToStandardType == false", "checks": [{"status": "failed", "context": "root/document[0]/StructTreeRoot[0](15 0 obj PDStructTreeRoot)/K[0](16 0 obj SESect Sect)/K[24](53 0 obj SEL L)/K[0](54 0 obj SELI LI)/K[1](57 0 obj SENonStandard Lbody)", "errorMessage": "Non-standard structure type http://iso.org/pdf/ssn:/Lbody is not mapped to a standard type", "errorArguments": ["http://iso.org/pdf/ssn:/Lbody"]}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](15 0 obj PDStructTreeRoot)/K[0](16 0 obj SESect Sect)/K[24](53 0 obj SEL L)/K[1](55 0 obj SELI LI)/K[1](56 0 obj SENonStandard Lbody)", "errorMessage": "Non-standard structure type http://iso.org/pdf/ssn:/Lbody is not mapped to a standard type", "errorArguments": ["http://iso.org/pdf/ssn:/Lbody"]}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](15 0 obj PDStructTreeRoot)/K[0](16 0 obj SESect Sect)/K[24](53 0 obj SEL L)/K[2](52 0 obj SELI LI)/K[1](51 0 obj SENonStandard Lbody)", "errorMessage": "Non-standard structure type http://iso.org/pdf/ssn:/Lbody is not mapped to a standard type", "errorArguments": ["http://iso.org/pdf/ssn:/Lbody"]}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](15 0 obj PDStructTreeRoot)/K[0](16 0 obj SESect Sect)/K[26](32 0 obj SEL L)/K[0](31 0 obj SELI LI)/K[1](30 0 obj SENonStandard Lbody)", "errorMessage": "Non-standard structure type http://iso.org/pdf/ssn:/Lbody is not mapped to a standard type", "errorArguments": ["http://iso.org/pdf/ssn:/Lbody"]}]}, {"ruleStatus": "FAILED", "specification": "ISO 14289-2:2024", "clause": "8.4.4", "testNumber": 2, "status": "failed", "failedChecks": 1, "tags": ["lang"], "description": "If the Lang entry is present in the document's Catalog dictionary or in a structure element dictionary or property list, its value shall be a language identifier as described in ISO 32000-2:2020, 14.9.2. A language identifier shall be a Language-Tag as defined in RFC 3066, Tags for the Identification of Languages", "object": "CosLang", "test": "/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/.test(unicodeValue)", "checks": [{"status": "failed", "context": "root/document[0]/StructTreeRoot[0](15 0 obj PDStructTreeRoot)/K[0](16 0 obj SESect Sect)/Lang[0]", "errorMessage": "Value EN-US of the Lang entry is not a Language-Tag", "errorArguments": ["EN-US\u0000"]}]}, {"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](15 0 obj PDStructTreeRoot)/K[0](16 0 obj SESect Sect)", "errorMessage": "StructTreeRoot contains <Sect>", "errorArguments": []}]}, {"ruleStatus": "FAILED", "specification": "ISO 32005:2023", "clause": "Table 5. LI-P", "testNumber": 1, "status": "failed", "failedChecks": 8, "tags": ["paragraph", "list", "structure"], "description": "<LI> shall not contain <P>", "object": "SEP", "test": "parentStandardType != 'LI'", "checks": [{"status": "failed", "context": "root/document[0]/StructTreeRoot[0](15 0 obj PDStructTreeRoot)/K[0](16 0 obj SESect Sect)/K[24](53 0 obj SEL L)/K[0](54 0 obj SELI LI)/K[2](38 0 obj SEP No Spacing)", "errorMessage": "<LI> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](15 0 obj PDStructTreeRoot)/K[0](16 0 obj SESect Sect)/K[24](53 0 obj SEL L)/K[1](55 0 obj SELI LI)/K[2](41 0 obj SEP No Spacing)", "errorMessage": "<LI> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](15 0 obj PDStructTreeRoot)/K[0](16 0 obj SESect Sect)/K[24](53 0 obj SEL L)/K[1](55 0 obj SELI LI)/K[3](42 0 obj SEP No Spacing)", "errorMessage": "<LI> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](15 0 obj PDStructTreeRoot)/K[0](16 0 obj SESect Sect)/K[24](53 0 obj SEL L)/K[1](55 0 obj SELI LI)/K[4](43 0 obj SEP No Spacing)", "errorMessage": "<LI> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](15 0 obj PDStructTreeRoot)/K[0](16 0 obj SESect Sect)/K[24](53 0 obj SEL L)/K[1](55 0 obj SELI LI)/K[5](44 0 obj SEP No Spacing)", "errorMessage": "<LI> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](15 0 obj PDStructTreeRoot)/K[0](16 0 obj SESect Sect)/K[24](53 0 obj SEL L)/K[1](55 0 obj SELI LI)/K[6](45 0 obj SEP No Spacing)", "errorMessage": "<LI> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](15 0 obj PDStructTreeRoot)/K[0](16 0 obj SESect Sect)/K[24](53 0 obj SEL L)/K[1](55 0 obj SELI LI)/K[7](46 0 obj SEP No Spacing)", "errorMessage": "<LI> contains <P>", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](15 0 obj PDStructTreeRoot)/K[0](16 0 obj SESect Sect)/K[24](53 0 obj SEL L)/K[1](55 0 obj SELI LI)/K[8](47 0 obj SEP No Spacing)", "errorMessage": "<LI> contains <P>", "errorArguments": []}]}, {"ruleStatus": "FAILED", "specification": "ISO 14289-2:2024", "clause": "8.2.5.25", "testNumber": 1, "status": "failed", "failedChecks": 2, "tags": ["list", "structure"], "description": "If Lbl structure elements are present, the ListNumbering attribute shall be present on the respective L structure element; in such cases the value None shall not be used", "object": "SEL", "test": "containsLabels == false || ListNumbering != 'None'", "checks": [{"status": "failed", "context": "root/document[0]/StructTreeRoot[0](15 0 obj PDStructTreeRoot)/K[0](16 0 obj SESect Sect)/K[24](53 0 obj SEL L)", "errorMessage": "List items contain Lbl structure elements, but the ListNumbering attribute is not present on the respective L structure element or it has value None", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](15 0 obj PDStructTreeRoot)/K[0](16 0 obj SESect Sect)/K[26](32 0 obj SEL L)", "errorMessage": "List items contain Lbl structure elements, but the ListNumbering attribute is not present on the respective L structure element or it has value None", "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": 1750783045153, "finish": 1750783047582, "duration": "00:00:02.429", "difference": 2429}}], "batchSummary": {"duration": {"start": 1750783044944, "finish": 1750783047696, "duration": "00:00:02.752", "difference": 2752}, "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}}}}