📦 EqualifyEverything / equalify-uic-analysis

📄 job_eq-449908.json · 1 lines
1{"_id": "685ad29103ccdc0557334ab7", "createdDate": "2025-06-24T16:30:09.647Z", "jobID": "eq-449908", "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/2526_INVR-E-ESP.pdf", "size": 262980}, "validationResult": [{"details": {"passedRules": 1716, "failedRules": 8, "passedChecks": 45160, "failedChecks": 53, "tags": ["figure", "metadata", "alt-text", "syntax", "text", "structure", "font"], "ruleSummaries": [{"ruleStatus": "FAILED", "specification": "ISO 32005:2023", "clause": "Table 5. Art-content", "testNumber": 1, "status": "failed", "failedChecks": 7, "tags": ["structure"], "description": "<Art> shall not contain content items", "object": "SEArt", "test": "hasContentItems == false", "checks": [{"status": "failed", "context": "root/document[0]/StructTreeRoot[0](73 0 obj PDStructTreeRoot)/K[0](74 0 obj SEDocument Document)/K[0](675 0 obj SESect Sect)/K[7](647 0 obj SEArt TextBox)", "errorMessage": "<Art> contains content item(s)", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](73 0 obj PDStructTreeRoot)/K[0](74 0 obj SEDocument Document)/K[0](675 0 obj SESect Sect)/K[8](636 0 obj SEArt TextBox)", "errorMessage": "<Art> contains content item(s)", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](73 0 obj PDStructTreeRoot)/K[0](74 0 obj SEDocument Document)/K[0](675 0 obj SESect Sect)/K[9](625 0 obj SEArt TextBox)", "errorMessage": "<Art> contains content item(s)", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](73 0 obj PDStructTreeRoot)/K[0](74 0 obj SEDocument Document)/K[0](675 0 obj SESect Sect)/K[10](643 0 obj SEArt TextBox)", "errorMessage": "<Art> contains content item(s)", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](73 0 obj PDStructTreeRoot)/K[0](74 0 obj SEDocument Document)/K[1](167 0 obj SESect Sect)/K[1](169 0 obj SEArt TextBox)", "errorMessage": "<Art> contains content item(s)", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](73 0 obj PDStructTreeRoot)/K[0](74 0 obj SEDocument Document)/K[1](167 0 obj SESect Sect)/K[84](252 0 obj SEArt TextBox)", "errorMessage": "<Art> contains content item(s)", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/StructTreeRoot[0](73 0 obj PDStructTreeRoot)/K[0](74 0 obj SEDocument Document)/K[1](167 0 obj SESect Sect)/K[135](136 0 obj SEArt TextBox)", "errorMessage": "<Art> contains content item(s)", "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](40 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.8", "testNumber": 2, "status": "failed", "failedChecks": 4, "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]/Outlines[0](outline 69 0)/A[0](70 0 obj PDGoToAction)", "errorMessage": "Destination in GoTo action is not a structure destination", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/Outlines[1](outline 68 0)/A[0](71 0 obj PDGoToAction)", "errorMessage": "Destination in GoTo action is not a structure destination", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/Outlines[2](outline 65 0)/A[0](72 0 obj PDGoToAction)", "errorMessage": "Destination in GoTo action is not a structure destination", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/Outlines[3](outline 66 0)/A[0](67 0 obj PDGoToAction)", "errorMessage": "Destination in GoTo action is not a structure destination", "errorArguments": []}]}, {"ruleStatus": "FAILED", "specification": "ISO 14289-2:2024", "clause": "8.4.5.9", "testNumber": 1, "status": "failed", "failedChecks": 14, "tags": ["font"], "description": "A file in conformance with PDF/UA-2 shall not contain a reference to the .notdef glyph from any of the text showing operators, regardless of text rendering mode, in any content stream", "object": "Glyph", "test": "name != \".notdef\"", "checks": [{"status": "failed", "context": "root/document[0]/pages[2](11 0 obj PDPage)/contentStream[0](12 0 obj PDSemanticContentStream)/operators[383]/usedGlyphs[0](VMFUSH+SymbolMT VMFUSH+SymbolMT 0 0 653345773 2 true)", "errorMessage": "The document contains a reference to the .notdef glyph", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[2](11 0 obj PDPage)/contentStream[0](12 0 obj PDSemanticContentStream)/operators[430]/usedGlyphs[0](VMFUSH+SymbolMT VMFUSH+SymbolMT 0 0 2028036437 2 true)", "errorMessage": "The document contains a reference to the .notdef glyph", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[2](11 0 obj PDPage)/contentStream[0](12 0 obj PDSemanticContentStream)/operators[544]/usedGlyphs[0](VMFUSH+SymbolMT VMFUSH+SymbolMT 0 0 203472514 2 true)", "errorMessage": "The document contains a reference to the .notdef glyph", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[2](11 0 obj PDPage)/contentStream[0](12 0 obj PDSemanticContentStream)/operators[630]/usedGlyphs[0](VMFUSH+SymbolMT VMFUSH+SymbolMT 0 0 1056185446 2 true)", "errorMessage": "The document contains a reference to the .notdef glyph", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[2](11 0 obj PDPage)/contentStream[0](12 0 obj PDSemanticContentStream)/operators[688]/usedGlyphs[0](VMFUSH+SymbolMT VMFUSH+SymbolMT 0 0 1647243882 2 true)", "errorMessage": "The document contains a reference to the .notdef glyph", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[2](11 0 obj PDPage)/contentStream[0](12 0 obj PDSemanticContentStream)/operators[830]/usedGlyphs[0](VMFUSH+SymbolMT VMFUSH+SymbolMT 0 0 2123269713 2 true)", "errorMessage": "The document contains a reference to the .notdef glyph", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[2](11 0 obj PDPage)/contentStream[0](12 0 obj PDSemanticContentStream)/operators[944]/usedGlyphs[0](VMFUSH+SymbolMT VMFUSH+SymbolMT 0 0 1370224403 2 true)", "errorMessage": "The document contains a reference to the .notdef glyph", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[3](13 0 obj PDPage)/contentStream[0](14 0 obj PDSemanticContentStream)/operators[287]/usedGlyphs[0](VMFUSH+SymbolMT VMFUSH+SymbolMT 0 0 22668134 3 true)", "errorMessage": "The document contains a reference to the .notdef glyph", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[3](13 0 obj PDPage)/contentStream[0](14 0 obj PDSemanticContentStream)/operators[319]/usedGlyphs[0](VMFUSH+SymbolMT VMFUSH+SymbolMT 0 0 609389093 3 true)", "errorMessage": "The document contains a reference to the .notdef glyph", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[3](13 0 obj PDPage)/contentStream[0](14 0 obj PDSemanticContentStream)/operators[411]/usedGlyphs[0](VMFUSH+SymbolMT VMFUSH+SymbolMT 0 0 1517758613 3 true)", "errorMessage": "The document contains a reference to the .notdef glyph", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[3](13 0 obj PDPage)/contentStream[0](14 0 obj PDSemanticContentStream)/operators[463]/usedGlyphs[0](VMFUSH+SymbolMT VMFUSH+SymbolMT 0 0 1883971879 3 true)", "errorMessage": "The document contains a reference to the .notdef glyph", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[3](13 0 obj PDPage)/contentStream[0](14 0 obj PDSemanticContentStream)/operators[521]/usedGlyphs[0](VMFUSH+SymbolMT VMFUSH+SymbolMT 0 0 1563634025 3 true)", "errorMessage": "The document contains a reference to the .notdef glyph", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[3](13 0 obj PDPage)/contentStream[0](14 0 obj PDSemanticContentStream)/operators[659]/usedGlyphs[0](VMFUSH+SymbolMT VMFUSH+SymbolMT 0 0 506775047 3 true)", "errorMessage": "The document contains a reference to the .notdef glyph", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[3](13 0 obj PDPage)/contentStream[0](14 0 obj PDSemanticContentStream)/operators[747]/usedGlyphs[0](VMFUSH+SymbolMT VMFUSH+SymbolMT 0 0 823758059 3 true)", "errorMessage": "The document contains a reference to the .notdef glyph", "errorArguments": []}]}, {"ruleStatus": "FAILED", "specification": "ISO 14289-2:2024", "clause": "8.2.5.28.2", "testNumber": 1, "status": "failed", "failedChecks": 9, "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](73 0 obj PDStructTreeRoot)/K[0](74 0 obj SEDocument Document)/K[1](167 0 obj SESect Sect)/K[14](182 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](73 0 obj PDStructTreeRoot)/K[0](74 0 obj SEDocument Document)/K[1](167 0 obj SESect Sect)/K[18](186 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](73 0 obj PDStructTreeRoot)/K[0](74 0 obj SEDocument Document)/K[1](167 0 obj SESect Sect)/K[23](191 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](73 0 obj PDStructTreeRoot)/K[0](74 0 obj SEDocument Document)/K[1](167 0 obj SESect Sect)/K[33](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](73 0 obj PDStructTreeRoot)/K[0](74 0 obj SEDocument Document)/K[1](167 0 obj SESect Sect)/K[44](212 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](73 0 obj PDStructTreeRoot)/K[0](74 0 obj SEDocument Document)/K[1](167 0 obj SESect Sect)/K[87](255 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](73 0 obj PDStructTreeRoot)/K[0](74 0 obj SEDocument Document)/K[1](167 0 obj SESect Sect)/K[124](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](73 0 obj PDStructTreeRoot)/K[0](74 0 obj SEDocument Document)/K[1](167 0 obj SESect Sect)/K[129](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](73 0 obj PDStructTreeRoot)/K[0](74 0 obj SEDocument Document)/K[1](167 0 obj SESect Sect)/K[138](77 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](73 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"]}]}, {"ruleStatus": "FAILED", "specification": "ISO 14289-2:2024", "clause": "8.4.5.8", "testNumber": 2, "status": "failed", "failedChecks": 14, "tags": ["font"], "description": " If a ToUnicode CMap is present, the Unicode values it specifies shall all be greater than zero (0), but not equal to either U+FEFF or U+FFFE", "object": "Glyph", "test": "toUnicode == null || (toUnicode.indexOf(\"\\u0000\") == -1 && toUnicode.indexOf(\"\\uFFFE\") == -1 && toUnicode.indexOf(\"\\uFEFF\") == -1)", "checks": [{"status": "failed", "context": "root/document[0]/pages[2](11 0 obj PDPage)/contentStream[0](12 0 obj PDSemanticContentStream)/operators[383]/usedGlyphs[0](VMFUSH+SymbolMT VMFUSH+SymbolMT 0 0 653345773 2 true)", "errorMessage": "The glyph has Unicode value 0, U+FEFF or U+FFFE, which is invalid by Unicode standard", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[2](11 0 obj PDPage)/contentStream[0](12 0 obj PDSemanticContentStream)/operators[430]/usedGlyphs[0](VMFUSH+SymbolMT VMFUSH+SymbolMT 0 0 2028036437 2 true)", "errorMessage": "The glyph has Unicode value 0, U+FEFF or U+FFFE, which is invalid by Unicode standard", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[2](11 0 obj PDPage)/contentStream[0](12 0 obj PDSemanticContentStream)/operators[544]/usedGlyphs[0](VMFUSH+SymbolMT VMFUSH+SymbolMT 0 0 203472514 2 true)", "errorMessage": "The glyph has Unicode value 0, U+FEFF or U+FFFE, which is invalid by Unicode standard", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[2](11 0 obj PDPage)/contentStream[0](12 0 obj PDSemanticContentStream)/operators[630]/usedGlyphs[0](VMFUSH+SymbolMT VMFUSH+SymbolMT 0 0 1056185446 2 true)", "errorMessage": "The glyph has Unicode value 0, U+FEFF or U+FFFE, which is invalid by Unicode standard", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[2](11 0 obj PDPage)/contentStream[0](12 0 obj PDSemanticContentStream)/operators[688]/usedGlyphs[0](VMFUSH+SymbolMT VMFUSH+SymbolMT 0 0 1647243882 2 true)", "errorMessage": "The glyph has Unicode value 0, U+FEFF or U+FFFE, which is invalid by Unicode standard", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[2](11 0 obj PDPage)/contentStream[0](12 0 obj PDSemanticContentStream)/operators[830]/usedGlyphs[0](VMFUSH+SymbolMT VMFUSH+SymbolMT 0 0 2123269713 2 true)", "errorMessage": "The glyph has Unicode value 0, U+FEFF or U+FFFE, which is invalid by Unicode standard", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[2](11 0 obj PDPage)/contentStream[0](12 0 obj PDSemanticContentStream)/operators[944]/usedGlyphs[0](VMFUSH+SymbolMT VMFUSH+SymbolMT 0 0 1370224403 2 true)", "errorMessage": "The glyph has Unicode value 0, U+FEFF or U+FFFE, which is invalid by Unicode standard", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[3](13 0 obj PDPage)/contentStream[0](14 0 obj PDSemanticContentStream)/operators[287]/usedGlyphs[0](VMFUSH+SymbolMT VMFUSH+SymbolMT 0 0 22668134 3 true)", "errorMessage": "The glyph has Unicode value 0, U+FEFF or U+FFFE, which is invalid by Unicode standard", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[3](13 0 obj PDPage)/contentStream[0](14 0 obj PDSemanticContentStream)/operators[319]/usedGlyphs[0](VMFUSH+SymbolMT VMFUSH+SymbolMT 0 0 609389093 3 true)", "errorMessage": "The glyph has Unicode value 0, U+FEFF or U+FFFE, which is invalid by Unicode standard", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[3](13 0 obj PDPage)/contentStream[0](14 0 obj PDSemanticContentStream)/operators[411]/usedGlyphs[0](VMFUSH+SymbolMT VMFUSH+SymbolMT 0 0 1517758613 3 true)", "errorMessage": "The glyph has Unicode value 0, U+FEFF or U+FFFE, which is invalid by Unicode standard", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[3](13 0 obj PDPage)/contentStream[0](14 0 obj PDSemanticContentStream)/operators[463]/usedGlyphs[0](VMFUSH+SymbolMT VMFUSH+SymbolMT 0 0 1883971879 3 true)", "errorMessage": "The glyph has Unicode value 0, U+FEFF or U+FFFE, which is invalid by Unicode standard", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[3](13 0 obj PDPage)/contentStream[0](14 0 obj PDSemanticContentStream)/operators[521]/usedGlyphs[0](VMFUSH+SymbolMT VMFUSH+SymbolMT 0 0 1563634025 3 true)", "errorMessage": "The glyph has Unicode value 0, U+FEFF or U+FFFE, which is invalid by Unicode standard", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[3](13 0 obj PDPage)/contentStream[0](14 0 obj PDSemanticContentStream)/operators[659]/usedGlyphs[0](VMFUSH+SymbolMT VMFUSH+SymbolMT 0 0 506775047 3 true)", "errorMessage": "The glyph has Unicode value 0, U+FEFF or U+FFFE, which is invalid by Unicode standard", "errorArguments": []}, {"status": "failed", "context": "root/document[0]/pages[3](13 0 obj PDPage)/contentStream[0](14 0 obj PDSemanticContentStream)/operators[747]/usedGlyphs[0](VMFUSH+SymbolMT VMFUSH+SymbolMT 0 0 823758059 3 true)", "errorMessage": "The glyph has Unicode value 0, U+FEFF or U+FFFE, which is invalid by Unicode standard", "errorArguments": []}]}, {"ruleStatus": "FAILED", "specification": "ISO 14289-2:2024", "clause": "8.4.3", "testNumber": 1, "status": "failed", "failedChecks": 3, "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[0](699 0 obj PDPage)/contentStream[0]/operators[773]/usedGlyphs[0](NQDVCX+Wingdings-Regular NQDVCX+Wingdings-Regular 131 0 1911138454 0 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[0](699 0 obj PDPage)/contentStream[0]/operators[789]/usedGlyphs[0](NQDVCX+Wingdings-Regular NQDVCX+Wingdings-Regular 131 0 925568390 0 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[0](699 0 obj PDPage)/contentStream[0]/operators[827]/usedGlyphs[0](NQDVCX+Wingdings-Regular NQDVCX+Wingdings-Regular 131 0 1198817209 0 true)", "errorMessage": "Real content maps to Unicode PUA values, but ActualText and Alt entry are not present", "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": 1750782602433, "finish": 1750782609392, "duration": "00:00:06.959", "difference": 6959}}], "batchSummary": {"duration": {"start": 1750782601919, "finish": 1750782609584, "duration": "00:00:07.665", "difference": 7665}, "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}}}}