Passer au contenu principal
Voici le schéma JSON OCR utilisé lors de l’export des données extraites, telles que les valeurs de champ, la structure des champs et les erreurs de vérification des règles.
"$schema": "http://json-schema.org/draft-07/schema",
  "type": "object",
  "description": "Document.",
  "definitions": {
    "borderType": {
      "type": "string",
      "description": "Type de bordure de cellule de tableau.",
      "enum": [
        "unknown",
        "invisible",
        "visible"
      ]
    },
    "rect": {
      "type": "object",
      "description": "Rectangle {r:left, t:top, r:right, b:bottom}",
      "required": [
        "l",
        "t",
        "r",
        "b"
      ],
      "properties": {
        "l": {
          "type": "integer",
          "description": "Coordonnée gauche.",
        },
        "t": {
          "type": "integer",
          "description": "Coordonnée supérieure.",
        },
        "r": {
          "type": "integer",
          "description": "Coordonnée droite.",
        },
        "b": {
          "type": "integer",
          "description": "Coordonnée inférieure.",
        }
      }
    },
    "confidence": {
      "type": "number",
      "description": "Niveau de confiance.",
    },
    "listNumberingStyle": {
      "type": "string",
      "description": "Style de numérotation de liste.",
      "enum": [
        "None",
        "Decimal",
        "UpperRoman",
        "LowerRoman",
        "UpperLetter",
        "LowerLetter",
        "Ordinal",
        "CardinalText",
        "OrdinalText",
        "Hex",
        "Chicago",
        "IdeographDigital",
        "JapaneseCounting",
        "Aiueo",
        "Iroha",
        "DecimalFullWidth",
        "DecimalHalfWidth",
        "JapaneseLegal",
        "JapaneseDigitalTenThousand",
        "DecimalEnclosedCircle",
        "DecimalFullWidth2",
        "AiueoFullWidth",
        "IrohaFullWidth",
        "DecimalZero",
        "Bullet",
        "Ganada",
        "Chosung",
        "DecimalEnclosedFullstop",
        "DecimalEnclosedParen",
        "DecimalEnclosedCircleChinese",
        "IdeographEnclosedCircle",
        "IdeographTraditional",
        "IdeographZodiac",
        "IdeographZodiacTraditional",
        "TaiwaneseCounting",
        "IdeographLegalTraditional",
        "TaiwaneseCountingThousand",
        "TaiwaneseDigital",
        "ChineseCounting",
        "ChineseLegalSimplified",
        "ChineseCountingThousand",
        "ApplicationDefined",
        "KoreanDigital",
        "KoreanCounting",
        "KoreanLegal",
        "KoreanDigital2",
        "Hebrew1",
        "ArabicAlpha",
        "Hebrew2",
        "ArabicAbjad",
        "HindiVowels",
        "HindiConsonants",
        "HindiNumbers",
        "HindiCounting",
        "ThaiLetters",
        "ThaiNumbers",
        "ThaiCounting",
        "VietnameseCounting",
        "NumberInDash",
        "RussianLower",
        "RussianUpper",
        "Burmese",
        "Unnumbered"
      ]
    },
    "listLevel": {
      "type": "object",
      "description": "Description du niveau de liste",
      "required": [
        "levelIndex",
        "numberingStyle",
        "startNumber"
      ],
      "properties": {
        "levelIndex": {
          "type": "integer",
          "description": "Index du niveau.",
          "minimum": 0
        },
        "numberingStyle": {
          "$ref": "#/definitions/listNumberingStyle",
          "description": "Style de numérotation de liste.",
        },
        "startNumber": {
          "type": "integer",
          "description": "Numéro de départ.",
        }
      }
    },
    "picture": {
      "type": "object",
      "description": "Bloc contenant une image.",
      "properties": {
        "id": {
          "type": "string",
          "description": "ID du bloc image.",
        },
        "position": {
          "$ref": "#/definitions/rect"
        },
        "confidence": {
          "$ref": "#/definitions/confidence"
        }
      }
    },
    "barcode": {
      "type": "object",
      "description": "Code-barres.",
      "properties": {
        "id": {
          "type": "string",
          "description": "ID du bloc code-barres.",
        },
        "position": {
          "$ref": "#/definitions/rect"
        },
        "confidence": {
          "$ref": "#/definitions/confidence"
        },
        "type": {
          "type": "string",
          "description": "Type de code-barres.",
          "enum": [
            "Code39",
            "Interleaved25",
            "EAN13",
            "Code128",
            "EAN8",
            "PDF417",
            "Codabar",
            "UPCE",
            "Industrial25",
            "IATA25",
            "Matrix25",
            "Code93",
            "PostNet",
            "UCC128",
            "Patch",
            "Aztec",
            "DataMatrix",
            "QRCode",
            "UPCA",
            "MaxiCode",
            "Code32",
            "FullAscii",
            "IntelligentMail",
            "RoyalMail4State",
            "KIX",
            "Australia4State",
            "JapanPost",
            "NotFound"
          ]
        },
        "value": {
          "type": "string",
          "description": "Valeur du code-barres.",
        },
        "supplementType": {
          "type": "string",
          "description": "Type de supplément.",
          "enum": [
            "none",
            "2digits",
            "5digits"
          ]
        },
        "supplementValue": {
          "type": "string",
          "description": "Valeur du supplément.",
        }
      }
    },
    "lines": {
      "type": "array",
      "description": "Tableau de chaînes de texte dans le bloc de texte, ordonnées selon le sens de lecture.",
      "items": [
        {
          "type": "object",
          "description": "Ligne de texte.",
          "properties": {
            "position": {
              "$ref": "#/definitions/rect"
            },
            "confidence": {
              "$ref": "#/definitions/confidence"
            },
            "text": {
              "type": "string",
              "description": "Valeur de la ligne de texte.",
            },
            "charParams": {
              "$ref": "#/definitions/charParams"
            },
            "words": {
              "type": "array",
              "description": "Tableau de mots dans une ligne de texte, ordonnés selon le sens de lecture.",
              "items": [
                {
                  "type": "object",
                  "description": "Mot.",
                  "properties": {
                    "position": {
                      "$ref": "#/definitions/rect"
                    },
                    "confidence": {
                      "$ref": "#/definitions/confidence"
                    },
                    "text": {
                      "type": "string",
                      "description": "Valeur du mot.",
                    },
                    "charParams": {
                      "$ref": "#/definitions/charParams"
                    },
                    "chars": {
                      "type": "array",
                      "description": "Tableau de caractères dans un mot, ordonnés selon le sens de lecture.",
                      "items": [
                        {
                          "type": "object",
                          "description": "Caractère du mot.",
                          "properties": {
                            "confidence": {
                              "$ref": "#/definitions/confidence"
                            },
                            "text": {
                              "type": "string",
                              "description": "Valeur du caractère du mot.",
                            },
                            "position": {
                              "$ref": "#/definitions/rect"
                            },
                            "charParams": {
                              "$ref": "#/definitions/charParams"
                            }
                          }
                        }
                      ]
                    }
                  }
                }
              ]
            }
          }
        }
      ]
    },
    "charParams": {
      "type": "object",
      "description": "Paramètres de formatage de police du symbole.",
      "properties": {
        "bold": {
          "type": "boolean",
          "description": "État de la propriété gras - si différent de celui du conteneur",
          "default": false
        },
        "italic": {
          "type": "boolean",
          "description": "État de la propriété italique - si différent de celui du conteneur",
          "default": false
        },
        "underlined": {
          "type": "boolean",
          "description": "État de la propriété souligné - si différent de celui du conteneur",
          "default": false
        },
        "strikeout": {
          "type": "boolean",
          "description": "État de la propriété barré - si différent de celui du conteneur",
          "default": false
        },
        "smallCaps": {
          "type": "boolean",
          "description": "État de la propriété petites majuscules - si différent de celui du conteneur",
          "default": false
        },
        "superscript": {
          "type": "boolean",
          "description": "État de la propriété exposant - si différent de celui du conteneur",
          "default": false
        },
        "subscript": {
          "type": "boolean",
          "description": "État de la propriété indice - si différent de celui du conteneur",
          "default": false
        },
        "scaling": {
          "type": "integer",
          "description": "État de la propriété mise à l'échelle (en millièmes de 1) - si différent de celui du conteneur",
          "default": 1000,
          "minimum": 100,
          "maximum": 10000
        },
        "spacing": {
          "type": "integer",
          "description": "État de la propriété d'espacement en twips (1/20 pt, 1/1440 pouce) - si différent de celui du conteneur",
          "default": 0,
          "minimum": -1000,
          "maximum": 1000
        },
        "fontSize": {
          "type": "integer",
          "description": "État de la propriété de taille de police en twips (1/20 pt, 1/1440 pouce) - si différent de celui du conteneur",
          "default": 200,
          "minimum": 50,
          "maximum": 4000
        },
        "fontName": {
          "type": "string",
          "description": "État de la propriété de nom de police - si différent de celui du conteneur",
        },
        "color": {
          "type": "string",
          "description": "État de la propriété de couleur de police du symbole (valeur hexadécimale au format 6 chiffres RRVVBB) - si différent de celui du conteneur",
        },
        "backgroundColor": {
          "type": "string",
          "description": "État de la propriété de couleur d'arrière-plan du symbole (valeur hexadécimale au format 6 chiffres RRVVBB) - si différent de celui du conteneur",
        },
        "lang": {
          "type": "string",
          "description": "État de la propriété de langue du symbole (composé des parties langue et pays, voir ISO 639 et ISO 3166) - si différent de celui du conteneur",
        }
      }
    }
  },
  "required": [
    "version",
    "producer"
  ],
  "properties": {
    "version": {
      "type": "string",
      "description": "Version du schéma du document.",
      "default": "Vantage OCR.Skill JSON output v1.0",
    },
    "producer": {
      "type": "string",
      "description": "Auteur du fichier JSON.",
      "default": "ABBYY Vantage OCR.Skill",
    },
    "languages": {
      "type": "array",
      "description": "Liste des langues du document.",
      "items": [
        {
          "type": "string",
          "description": "Langue du document.",
        }
      ]
    },
    "layout": {
      "type": "object",
      "description": "Mise en page (structure physique).",
      "required": [
        "pages"
      ],
      "properties": {
        "corrected": {
          "type": "boolean",
          "description": "Coordonnées de l'image corrigée en sortie.",
          "default": true
        },
        "pages": {
          "type": "array",
          "description": "Tableau des pages du document, ordonnées de la première à la dernière.",
          "items": [
            {
              "type": "object",
              "description": "Page du document.",
              "properties": {
                "width": {
                  "type": "integer",
                  "description": "Largeur de la page en pixels.",
                },
                "height": {
                  "type": "integer",
                  "description": "Hauteur de la page en points.",
                },
                "rotated": {
                  "type": "string",
                  "description": "Rotation de la page par rapport à l'image d'origine.",
                  "enum": [
                    "none",
                    "clockwise",
                    "counterclockwise",
                    "upside-down"
                  ]
                },
                "texts": {
                  "type": "array",
                  "description": "Tableau de blocs contenant du texte.",
                  "items": [
                    {
                      "type": "object",
                      "description": "Texte.",
                      "properties": {
                        "id" : {
                          "type": "string",
                          "description": "ID du bloc de texte.",
                        },
                        "position": {
                          "$ref": "#/definitions/rect"
                        },
                        "confidence": {
                          "$ref": "#/definitions/confidence"
                        },
                        "lines": {
                          "#ref": "#/definitions/lines"
                        }
                      }
                    }
                  ]
                },
                "tables": {
                  "type": "array",
                  "description": "Tableau de blocs contenant un tableau.",
                  "items": [
                    {
                      "type": "object",
                      "description": "Tableau.",
                      "properties": {
                        "id" : {
                          "type": "string",
                          "description": "ID du bloc de tableau.",
                        },
                        "position": {
                          "$ref": "#/definitions/rect"
                        },
                        "confidence": {
                          "$ref": "#/definitions/confidence"
                        },
                        "cells": {
                          "type": "array",
                          "description": "Cellules du tableau.",
                          "items": [
                            {
                              "type": "object",
                              "description": "Cellule du tableau.",
                              "properties": {
                                "id" : {
                                  "type": "string",
                                  "description": "ID de la cellule du tableau.",
                                },
                                "position": {
                                  "$ref": "#/definitions/rect"
                                },
                                "confidence": {
                                  "$ref": "#/definitions/confidence"
                                },
                                "colRowPosition": {
                                  "type": "object",
                                  "description": "Coordonnée de la cellule dans le système Colonne-Ligne {l:colonneGauche, t:ligneHaut, r:colonneDroite, b:ligneBas}",
                                  "properties":{
                                    "l": {
                                      "type": "integer",
                                      "description": "Index du séparateur gauche.",
                                    },
                                    "t": {
                                      "type": "integer",
                                      "description": "Index du séparateur supérieur.",
                                    },
                                    "r": {
                                      "type": "integer",
                                      "description": "Index du séparateur droit.",
                                    },
                                    "b": {
                                      "type": "integer",
                                      "description": "Index du séparateur inférieur.",
                                    }
                                  }
                                },
                                "borders": {
                                  "type": "object",
                                  "description": "Types de bordure de cellule de tableau {l:gauche, t:haut, r:droite, b:bas}",
                                  "properties":{
                                    "l": {
                                      "$ref": "#/definitions/borderType",
                                      "description": "Type de bordure gauche.",
                                    },
                                    "t": {
                                      "$ref": "#/definitions/borderType",
                                      "description": "Type de bordure supérieure.",
                                    },
                                    "r": {
                                      "$ref": "#/definitions/borderType",
                                      "description": "Type de bordure droite.",
                                    },
                                    "b": {
                                      "$ref": "#/definitions/borderType",
                                      "description": "Type de bordure inférieure.",
                                    }
                                  }
                                },
                                "contentType": {
                                  "type": "string",
                                  "description": "Type de contenu de la cellule du tableau : [text, picture, barcode].",
                                  "enum": [
                                    "text",
                                    "picture",
                                    "barcode"
                                  ]
                                },
                                "picture": {
                                  "$ref": "#/definitions/picture"
                                },
                                "barcode": {
                                  "$ref": "#/definitions/barcode"
                                },
                                "lines": {
                                  "$ref": "#/definitions/lines"
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  ]
                },
                "pictures": {
                  "type": "array",
                  "description": "Tableau de blocs contenant une image.",
                  "items": [
                    {
                      "$ref": "#/definitions/picture"
                    }
                  ]
                },
                "barcodes": {
                  "type": "array",
                  "description": "Tableau de blocs contenant un code-barres.",
                  "items": [
                    {
                      "$ref": "#/definitions/barcode"
                    }
                  ]
                },
                "separators": {
                  "type": "array",
                  "description": "Tableau de blocs contenant un séparateur.",
                  "items": [
                    {
                      "type": "object",
                      "description": "Séparateur.",
                      "properties": {
                        "position": {
                          "$ref": "#/definitions/rect"
                        },
                        "confidence": {
                          "$ref": "#/definitions/confidence"
                        },
                        "color": {
                          "type": "integer",
                          "description": "Couleur du séparateur.",
                        },
                        "thickness": {
                          "type": "integer",
                          "description": "Épaisseur du séparateur.",
                        },
                        "type": {
                          "type": "string",
                          "description": "Type de séparateur.",
                          "enum": [
                            "unknown",
                            "solid",
                            "dotted"
                          ]
                        },
                        "endPoints": {
                          "type": "object",
                          "description": "Coordonnées des extrémités du séparateur {startX:startX, startY:startY, endX:endX, endY:endY}",
                          "properties":{
                            "startX": {
                              "type": "integer",
                              "description": "Coordonnée X du point de départ.",
                            },
                            "startY": {
                              "type": "integer",
                              "description": "Coordonnée Y du point de départ.",
                            },
                            "endX": {
                              "type": "integer",
                              "description": "Coordonnée X du point de fin.",
                            },
                            "endY": {
                              "type": "integer",
                              "description": "Coordonnée Y du point de fin.",
                            }
                          }
                        }
                      }
                    }
                  ]
                },
                "checkmarks": {
                  "type": "array",
                  "description": "Tableau de blocs contenant une case à cocher.",
                  "items": [
                    {
                      "type": "object",
                      "description": "Case à cocher.",
                      "properties": {
                        "position": {
                          "$ref": "#/definitions/rect"
                        },
                        "confidence": {
                          "$ref": "#/definitions/confidence"
                        },
                        "value": {
                          "type": "string",
                          "description": "Valeur de la case à cocher.",
                          "enum": [
                            "checked",
                            "unchecked",
                            "corrected",
                            "unknown"
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          ]
        }
      }
    },
    "content": {
      "type": "object",
      "description": "Contenu du document (structure logique).",
      "properties": {
        "paragraphs": {
          "type": "array",
          "description": "Tableau de paragraphes du document ordonnés selon le sens de lecture.",
          "items": [
            {
              "type": "object",
              "description": "Paragraphe du document.",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "ID du paragraphe dans le document."
                },
                "role": {
                  "type": "string",
                  "description": "Rôle du paragraphe dans le document.",
                  "enum": [
                    "other",
                    "text",
                    "heading",
                    "headingNumber",
                    "tableOfContents",
                    "tableText",
                    "runningTitle",
                    "endNote",
                    "footNote",
                    "tableCaption",
                    "tableHeading",
                    "pictureCaption",
                    "artefact"
                  ]
                },
                "formatting": {
                  "type": "object",
                  "description": "Mise en forme du paragraphe.",
                  "properties": {
                    "aligning": {
                      "type": "string",
                      "description": "Alignement du texte dans le paragraphe.",
                      "enum": [
                        "left",
                        "center",
                        "right",
                        "justified",
                        "justifiedForArabic"
                      ]
                    },
                    "lineSpacing": {
                      "type": "integer",
                      "description": "Interligne du paragraphe.",
                      "minimum": 0,
                      "default": 0
                    }
                  }
                },
                "layoutReferences": {
                  "type": "array",
                  "description": "Tableau des sources des parties de paragraphe du document dans la structure de blocs de page, dans l'ordre du texte du paragraphe.",
                  "items": [
                    {
                      "type": "object",
                      "description": "ID du bloc/de la cellule de référence, index du paragraphe et plage de lignes dans le bloc/la cellule.",
                      "required": [
                        "blockId",
                        "blockType",
                        "parIndex",
                        "firstLine",
                        "lastLine"
                      ],
                      "properties": {
                        "blockId": {
                          "type": "string",
                          "description": "ID du bloc de texte ou de la cellule de tableau conteneur."
                        },
                        "blockType": {
                          "type": "string",
                          "description": "Type de conteneur du paragraphe.",
                          "enum": [
                            "text",
                            "cell"
                          ]
                        },
                        "sectionIndex": {
                          "type": "integer",
                          "description": "Index de la section logique sur la page (ou -1 s'il n'existe aucune section contenant le paragraphe, comme les en-têtes, pieds de page, etc.).",
                          "minimum": -1
                        },
                        "columnIndex": {
                          "type": "integer",
                          "description": "Index de la colonne dans la section logique (ou -1 s'il n'existe aucune colonne contenant le paragraphe, comme les encarts, notes de bas de page, etc.).",
                          "minimum": -1
                        },
                        "lineNumbering": {
                          "type": "boolean",
                          "description": "true si le paragraphe se trouve dans la zone de numérotation des lignes."
                        },
                        "parIndex": {
                          "type": "integer",
                          "description": "Index du paragraphe dans le bloc ou la cellule de tableau.",
                          "minimum": 0
                        },
                        "firstLine": {
                          "type": "integer",
                          "description": "Index de la première ligne du paragraphe dans le bloc ou la cellule de tableau.",
                          "minimum": 0
                        },
                        "lastLine": {
                          "type": "integer",
                          "description": "Index de la dernière ligne du paragraphe dans le bloc ou la cellule de tableau.",
                          "minimum": 0
                        }
                      }
                    }
                  ]
                },
                "text": {
                  "type": "string",
                  "description": "Texte du paragraphe."
                },
                "listReference": {
                  "type": "object",
                  "description": "Référence à la liste contenant le paragraphe.",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "ID de la liste."
                    },
                    "levelIndex": {
                      "type": "integer",
                      "description": "Index du niveau de l'élément de liste actuel.",
                      "minimum": 0,
                      "default": 0
                    },
                    "ordinalNumber": {
                      "type": "integer",
                      "description": "Numéro ordinal de l'élément de liste actuel.",
                      "minimum": -1,
                      "default": 0
                    }
                  }
                },
                
              }
            }
          ]
        },
        "lists": {
          "type": "array",
          "description": "Tableau des listes trouvées dans le document.",
          "items": [
            {
              "type": "object",
              "description": "Description de la liste.",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "ID de la liste dans le document."
                },
                "listLevels": {
                  "type": "array",
                  "description": "Tableau des descriptions de niveaux de liste.",
                  "items": [
                    {
                      "$ref": "#/definitions/listLevel"
                    }
                  ]
                }
              }
            }
          ]
        }
      }
    }
  }
}```