名刺
    • PDF

    名刺

    • PDF

    記事の要約

    Classic/VPC環境で利用できます。

    特化モデルエンジンを使用して名刺の入力情報(key-value)を認識し、抽出します。

    リクエスト

    リクエスト形式を説明します。リクエスト形式は次の通りです。

    メソッドURI
    POST/name-card

    リクエストヘッダ

    CLOVA OCR APIで共通して使用されるヘッダの詳細は、CLOVA OCRのリクエストヘッダをご参照ください。

    リクエストボディ

    リクエストボディの説明は次の通りです。

    Content-Type: application/jsonの場合

    リクエストヘッダのContent-Typeapplication/jsonの場合のリクエストボディの説明は次の通りです。

    フィールドタイプ必須の有無説明
    versionString-バージョン情報
    • V2のみ使用
    requestIdStringRequired任意の API呼び出しの UUID
    timestampIntegerRequired任意の APIの呼び出し時刻(Timestamp)
    imagesArrayRequiredimagesの詳細情報

    Content-Type: multipart/form-dataの場合

    リクエストヘッダのContent-Typemultipart/form-dataの場合のリクエストボディの説明は次の通りです。

    フィールドタイプ必須の有無説明
    messageObjectRequiredリクエストデータ情報
    message.versionStringRequiredバージョン情報
    • V2のみ使用
    message.requestIdStringRequired任意の API呼び出しの UUID
    message.timestampIntegerRequired任意の APIの呼び出し時刻(Timestamp)
    message.imagesArrayRequiredimagesの詳細情報
    fileFileRequiredOCR認識画像ファイル

    images

    imagesの説明は次の通りです。

    フィールドタイプ必須の有無説明
    formatStringRequired画像の形式
    • jpg | jpeg | png | pdf | tif | tiff
      • 画像: jpgjpegpng
      • 単一ページ: pdftiftiff
    • 画像の形式のうち、1つを選択して入力
    nameStringRequired任意の画像名
    • 画像の識別とレスポンス結果の確認時に使用
    dataStringRequiredBase64でエンコードされた画像データ
    • Content-Type: application/jsonの場合に入力可能

    リクエスト例

    リクエストのサンプルコードは次の通りです。

    Content-Type: application/jsonの場合

    リクエストヘッダのContent-Typeapplication/jsonの場合のリクエストのサンプルコードは次の通りです。

    curl --location --request POST 'https://cbgrx5natw.apigw.ntruss.com/custom/v1/{DomainId}/{InvokeKey}/document/name-card' \
    --header 'Content-Type: application/json' \
    --header 'X-OCR-SECRET: {アプリの登録時に発行された Secret Key}' \
    --data '{
        "version": "V2",
        "requestId": "1234",
        "timestamp": 0,
        "images": [
            { 
                "format": "jpg", 
                "name": "namecard_test2",
                "data": "{Base64でエンコードされた画像データ}"
            }
        ]
    }'
    

    Content-Type: multipart/form-dataの場合

    リクエストヘッダのContent-Typemultipart/form-dataの場合のリクエストのサンプルコードは次の通りです。

    curl --location --request POST 'https://cbgrx5natw.apigw.ntruss.com/custom/v1/{DomainId}/{InvokeKey}/document/name-card' \
    --header 'X-OCR-SECRET: {アプリの登録時に発行された Secret Key}' \
    --header 'Content-Type: multipart/form-data' \
    --form 'message="{\"version\": \"V2\", \"requestId\": \"1234\", \"timestamp\": 1724832750462, \"images\": [{\"format\": \"jpg\", \"name\": \"namecard_test\"}]}"' \
    --form 'file={file}.jpg"'
    

    レスポンス

    レスポンス形式を説明します。

    レスポンスボディ

    レスポンスボディの説明は次の通りです。

    フィールドタイプ必須の有無説明
    versionString-バージョン情報
    • V2のみ使用
    requestIdString-API呼び出し UUID
    timestampInteger-APIの呼び出し時刻(Timestamp)
    imagesArray-imagesの詳細情報

    images

    imagesの説明は次の通りです。

    フィールドタイプ必須の有無説明
    uidString-名刺画像の UID
    • API有効性検査時に使用
    nameString-名刺の画像名
    • 画像の識別とレスポンス結果の確認時に使用
    inferResultString-名刺の画像認識結果
    • SUCCESS | FAILURE | ERROR
      • SUCCESS: 認識成功
      • FAILURE: 認識失敗
      • ERROR: 認識処理例外
    messageString-結果メッセージ
    validationResultObject-有効性検査の結果情報
    validationResult.resultString-有効性検査の結果コード
    • NO_REQUESTED | UNCHECKED | ERROR | VALID | INVALID
      • NO_REQUESTED: 検証をリクエストしていない(有効性検査失敗)
      • UNCHECKED: 検証の有無を確認できない
      • ERROR: 検証中にエラー発生(有効性検査失敗)
      • VALID: 検証中にエラー発生(有効性検査成功)
      • INVALID: 検証合格失敗
    validationResult.messageString-有効性検査結果の詳細メッセージ
    • 必ずしも返される値ではない
    convertedImageInfoObject-変換後の画像情報
    • formatpdfまたはtiffの場合
    • 座標は呼び出し画像ファイルを基準に設定
    convertedImageInfo.widthInteger-変換後画像の横長
    convertedImageInfo.heightInteger-変換後画像の縦長
    convertedImageInfo.pageIndexInteger-変換後画像ページインデックス
    nameCardObject-名刺の詳細情報
    nameCard.metaObject-メタ情報
    nameCard.meta.estimatedLanguageString-OCR推定言語
    • ko | en | ja
      • ko:韓国語
      • en: 英語
      • ja: 日本語
    nameCard.resultObject-名刺の OCR認識結果

    result

    resultの説明は次の通りです。

    フィールドタイプ必須の有無説明
    nameArray-氏名情報
    nameFuriganaArray-フリガナ情報
    companyArray-会社情報
    addressArray-住所情報
    positionArray-役職連携
    departmentArray-部署情報
    mobileArray-携帯電話情報
    telArray-電話情報
    faxArray-FAX情報
    emailArray-メール情報
    homepageArray-ホームページ情報

    共通オブジェクト情報

    共通オブジェクトの説明は次の通りです。

    フィールドタイプ必須の有無説明
    textString-認識結果のテキスト
    keyTextString-認識結果のテキストのキー
    confidenceScoreFloat-認識結果のテキストの信頼度
    • 0~1
    • 信頼度が高いほどテキストの精度が高い
    boundingPolyObject-Bounding Poly情報
    boundingPolysArray-boundingPolyの詳細情報
    maskingPolysArray-maskingPolyの詳細情報

    boundingPolys

    boundingPolysの説明は次の通りです。

    フィールドタイプ必須の有無説明
    verticesArray-verticesの詳細情報

    maskingPolys

    maskingPolysの説明は次の通りです。

    フィールドタイプ必須の有無説明
    verticesArray-verticesの詳細情報

    vertices

    boundingPolyVerticesの説明は次の通りです。

    フィールドタイプ必須の有無説明
    xFloat-X軸の座標
    yFloat-Y軸の座標

    レスポンスステータスコード

    CLOVA OCR APIで共通して使用されるレスポンスステータスコードの詳細は、CLOVA OCRの共通レスポンスステータスコードをご参照ください。

    レスポンス例

    レスポンスのサンプルコードは次の通りです。

    成功

    呼び出しに成功した場合のレスポンスのサンプルコードは次の通りです。

    {
        "version": "V2",
        "requestId": "1234",
        "timestamp": 1725235494383,
        "images": [
            {
                "uid": "{uid}",
                "name": "namecard_test",
                "inferResult": "SUCCESS",
                "message": "SUCCESS",
                "validationResult": {
                    "result": "NO_REQUESTED"
                },
                "nameCard": {
                    "meta": {
                        "estimatedLanguage": "ko"
                    },
                    "result": {
                        "name": [
                            {
                                "text": "キム**",
                                "keyText": "",
                                "confidenceScore": 0.0,
                                "boundingPolys": [
                                    {
                                        "vertices": [
                                            {
                                                "x": 92.0,
                                                "y": 103.0
                                            },
                                            {
                                                "x": 218.0,
                                                "y": 103.0
                                            },
                                            {
                                                "x": 218.0,
                                                "y": 141.0
                                            },
                                            {
                                                "x": 92.0,
                                                "y": 141.0
                                            }
                                        ]
                                    }
                                ],
                                "maskingPolys": []
                            }
                        ],
                        "company": [
                            {
                                "text": "** **代理店",
                                "keyText": "",
                                "confidenceScore": 0.0,
                                "boundingPolys": [
                                    {
                                        "vertices": [
                                            {
                                                "x": 90.0,
                                                "y": 255.0
                                            },
                                            {
                                                "x": 237.0,
                                                "y": 255.0
                                            },
                                            {
                                                "x": 237.0,
                                                "y": 284.0
                                            },
                                            {
                                                "x": 90.0,
                                                "y": 284.0
                                            }
                                        ]
                                    }
                                ],
                                "maskingPolys": []
                            }
                        ],
                        "address": [
                            {
                                "text": "ソウル特別市***",
                                "keyText": "",
                                "confidenceScore": 0.0,
                                "boundingPolys": [
                                    {
                                        "vertices": [
                                            {
                                                "x": 91.0,
                                                "y": 287.0
                                            },
                                            {
                                                "x": 376.0,
                                                "y": 287.0
                                            },
                                            {
                                                "x": 376.0,
                                                "y": 312.0
                                            },
                                            {
                                                "x": 91.0,
                                                "y": 312.0
                                            }
                                        ]
                                    }
                                ],
                                "maskingPolys": []
                            }
                        ],
                        "position": [
                            {
                                "text": "****",
                                "keyText": "",
                                "confidenceScore": 0.0,
                                "boundingPolys": [
                                    {
                                        "vertices": [
                                            {
                                                "x": 226.0,
                                                "y": 114.0
                                            },
                                            {
                                                "x": 300.0,
                                                "y": 114.0
                                            },
                                            {
                                                "x": 300.0,
                                                "y": 138.0
                                            },
                                            {
                                                "x": 226.0,
                                                "y": 138.0
                                            }
                                        ]
                                    }
                                ],
                                "maskingPolys": []
                            }
                        ],
                        "mobile": [
                            {
                                "text": "010********",
                                "keyText": "",
                                "confidenceScore": 0.0,
                                "boundingPolys": [
                                    {
                                        "vertices": [
                                            {
                                                "x": 88.0,
                                                "y": 145.0
                                            },
                                            {
                                                "x": 300.0,
                                                "y": 145.0
                                            },
                                            {
                                                "x": 300.0,
                                                "y": 175.0
                                            },
                                            {
                                                "x": 88.0,
                                                "y": 175.0
                                            }
                                        ]
                                    }
                                ]
                            }
                        ],
                        "tel": [
                            {
                                "text": "02-****-****",
                                "keyText": "",
                                "confidenceScore": 0.0,
                                "boundingPolys": [
                                    {
                                        "vertices": [
                                            {
                                                "x": 89.0,
                                                "y": 311.0
                                            },
                                            {
                                                "x": 264.0,
                                                "y": 311.0
                                            },
                                            {
                                                "x": 264.0,
                                                "y": 333.0
                                            },
                                            {
                                                "x": 89.0,
                                                "y": 333.0
                                            }
                                        ]
                                    }
                                ]
                            }
                        ],
                        "fax": [
                            {
                                "text": "02-****-****",
                                "keyText": "",
                                "confidenceScore": 0.0,
                                "boundingPolys": [
                                    {
                                        "vertices": [
                                            {
                                                "x": 89.0,
                                                "y": 334.0
                                            },
                                            {
                                                "x": 264.0,
                                                "y": 334.0
                                            },
                                            {
                                                "x": 264.0,
                                                "y": 358.0
                                            },
                                            {
                                                "x": 89.0,
                                                "y": 358.0
                                            }
                                        ]
                                    }
                                ]
                            }
                        ],
                        "email": [
                            {
                                "text": "****@****.net",
                                "keyText": "",
                                "confidenceScore": 0.0,
                                "boundingPolys": [
                                    {
                                        "vertices": [
                                            {
                                                "x": 137.0,
                                                "y": 359.0
                                            },
                                            {
                                                "x": 312.0,
                                                "y": 359.0
                                            },
                                            {
                                                "x": 312.0,
                                                "y": 382.0
                                            },
                                            {
                                                "x": 137.0,
                                                "y": 382.0
                                            }
                                        ]
                                    }
                                ],
                                "maskingPolys": []
                            }
                        ]
                    }
                }
            }
        ]
    }
    

    失敗

    呼び出しに失敗した場合のレスポンスのサンプルコードは次の通りです。

    {
        "version": "V2",
        "requestId": "1234",
        "timestamp": 1725235840459,
        "images": [
            {
                "uid": "{uid}",
                "name": "namecard_test2",
                "inferResult": "ERROR",
                "message": "Read page:0 error.",
                "validationResult": {
                    "result": "NO_REQUESTED"
                }
            }
        ]
    }
    

    この記事は役に立ちましたか?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.