Skip to main content

📄 OCR āđ€āļ­āļāļŠāļēāļĢāļ—āļąāđˆāļ§āđ„āļ›āļ āļēāļĐāļēāđ„āļ—āļĒ

1 ICāļ•āđˆāļ­āļŦāļ™āđ‰āļē
v2.0 Active āļŠ.āļ„. 2022 POST /v3/store/ocr/document

āļĒāļīāļ™āļ”āļĩāļ•āđ‰āļ­āļ™āļĢāļąāļšāļŠāļđāđˆ Thai Document OCR API āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™ 2.0 āļœāļĨāļīāļ•āļ āļąāļ“āļ‘āđŒ AI āļ—āļĩāđˆāļžāļąāļ’āļ™āļēāđ‚āļ”āļĒ āļšāļĢāļīāļĐāļąāļ— āđ„āļ­āđāļ­āļžāļžāđŒāđ€āļ—āļ„āđ‚āļ™āđ‚āļĨāļĒāļĩ āļˆāļģāļāļąāļ” API āļ‚āļ­āļ‡āđ€āļĢāļēāđāļ›āļĨāļ‡āđ€āļ­āļāļŠāļēāļĢāļ āļēāļĐāļēāđ„āļ—āļĒāļ—āļĩāđˆāļžāļīāļĄāļžāđŒāļ­āļ­āļāļĄāļēāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™āļĢāļđāļ›āđāļšāļšāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āđ„āļ”āđ‰āđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļīāļ”āđ‰āļ§āļĒāļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāļŠāļđāļ‡ API āļĢāļ­āļ‡āļĢāļąāļšāļĢāļđāļ›āļ āļēāļž (PNG, JPEG, JPG), āđ„āļŸāļĨāđŒ PDF āđāļĨāļ°āđ€āļ­āļāļŠāļēāļĢ Microsoft Office (Word, Excel, PowerPoint) āđ‚āļ”āļĒāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđ€āļ›āđ‡āļ™āļĢāļđāļ›āđāļšāļšāđ€āļ­āļēāļ•āđŒāļžāļļāļ•āļ—āļĩāđˆāđāļ•āļāļ•āđˆāļēāļ‡āļāļąāļ™āļŠāļēāļĄāļĢāļđāļ›āđāļšāļš

āļĨāļ­āļ‡āđƒāļŠāđ‰ Demo!​

Example Images (Click to try)

Example 1Example 2

āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āđƒāļŠāđ‰āļ‡āļēāļ™â€‹

  1. āļ‚āđ‰āļ­āļāļģāļŦāļ™āļ”āđ€āļšāļ·āđ‰āļ­āļ‡āļ•āđ‰āļ™

    • āļĢāļŦāļąāļŠ API āļˆāļēāļ āđ„āļ­āđāļ­āļžāļžāđŒāđ€āļ—āļ„āđ‚āļ™āđ‚āļĨāļĒāļĩ
    • āđ€āļ­āļāļŠāļēāļĢāļ āļēāļĐāļēāđ„āļ—āļĒ (āļĢāļđāļ›āļ āļēāļž, PDF, āļŦāļĢāļ·āļ­āđ„āļŸāļĨāđŒ Office)
    • āļĢāļđāļ›āđāļšāļšāļ—āļĩāđˆāļĢāļ­āļ‡āļĢāļąāļš: PNG, JPEG, JPG, PDF, DOC, DOCX, XLS, XLSX, PPT, PPTX
    • āļ‚āļ™āļēāļ”āđ„āļŸāļĨāđŒāļŠāļđāļ‡āļŠāļļāļ”: 30MB
  2. āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āđƒāļŠāđ‰āļ‡āļēāļ™āļ­āļĒāđˆāļēāļ‡āļĢāļ§āļ”āđ€āļĢāđ‡āļ§

    • āđ€āļ§āļĨāļēāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ—āļĩāđˆāļĢāļ§āļ”āđ€āļĢāđ‡āļ§
    • āļāļēāļĢāđāļĒāļāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ—āļĩāđˆāļĄāļĩāļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāļŠāļđāļ‡
    • āļ•āļąāļ§āđ€āļĨāļ·āļ­āļāļĢāļđāļ›āđāļšāļšāđ€āļ­āļēāļ•āđŒāļžāļļāļ•āļŦāļĨāļēāļĒāļĢāļđāļ›āđāļšāļš
  3. āļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāļŦāļĨāļąāļ

    • āļŠāļēāļĄāļĢāļđāļ›āđāļšāļšāđ€āļ­āļēāļ•āđŒāļžāļļāļ•:
      • āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āđ„āļ”āđ‰ (.txt)
      • JSON āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡ (.json)
      • āđ„āļŸāļĨāđŒ Microsoft Word (.docx)
    • āļāļēāļĢāļĢāļđāđ‰āļˆāļģāļŠāđˆāļ§āļ™āļ›āļĢāļ°āļāļ­āļšāđ€āļ­āļāļŠāļēāļĢāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī
    • āļĢāļ­āļ‡āļĢāļąāļšāļ—āļąāđ‰āļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ āļēāļĐāļēāđ„āļ—āļĒāđāļĨāļ°āļ āļēāļĐāļēāļ­āļąāļ‡āļāļĪāļĐ
  4. āļ„āļ§āļēāļĄāļ›āļĨāļ­āļ”āļ āļąāļĒāđāļĨāļ°āļāļēāļĢāļ›āļāļīāļšāļąāļ•āļīāļ•āļēāļĄāļ‚āđ‰āļ­āļāļģāļŦāļ™āļ”

    • āđ€āļ›āđ‡āļ™āđ„āļ›āļ•āļēāļĄ GDPR āđāļĨāļ° PDPA
    • āđ€āļŠāđ‰āļ™āļ—āļēāļ‡āđ„āļŸāļĨāđŒ URL āđƒāļŠāđ‰āđ„āļ”āđ‰āļ™āļēāļ™ 10 āļ™āļēāļ—āļĩāđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™

API Endpoints​

EndpointMethodāļ„āļģāļ­āļ˜āļīāļšāļēāļĒāļĢāļēāļ„āļē
/v3/store/ocr/document/ocr
Legacy :/document-ocr/ocr
POSTOCR āļŠāļģāļŦāļĢāļąāļšāđ€āļ­āļāļŠāļēāļĢāđ„āļ—āļĒāļ—āļąāđˆāļ§āđ„āļ›āđ€āļ›āđ‡āļ™ Plain Text1 IC āļ•āđˆāļ­āļŦāļ™āđ‰āļē
/v3/store/ocr/document/layout
Legacy :/document-ocr/layout
POSTOCR āļŠāļģāļŦāļĢāļąāļšāđ€āļ­āļāļŠāļēāļĢāđ„āļ—āļĒāļ—āļąāđˆāļ§āđ„āļ›āđ€āļ›āđ‡āļ™ Layout JSON (āļžāļĢāđ‰āļ­āļĄāļāļēāļĢāļ§āļīāđ€āļ„āļĢāļēāļ°āļŦāđŒāļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĨāļĒāđŒāđ€āļ­āļēāļ•āđŒ)1 IC āļ•āđˆāļ­āļŦāļ™āđ‰āļē
/v3/store/ocr/document/docx
Legacy :/document-ocr/docx
POSTOCR āļŠāļģāļŦāļĢāļąāļšāđ€āļ­āļāļŠāļēāļĢāđ„āļ—āļĒāļ—āļąāđˆāļ§āđ„āļ›āđāļĨāļ°āđāļ›āļĨāļ‡āđ€āļ›āđ‡āļ™ Microsoft Word (DOCX)1 IC āļ•āđˆāļ­āļŦāļ™āđ‰āļē

āļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāđāļĨāļ°āļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–​

āļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāļŦāļĨāļąāļâ€‹

  • āļāļēāļĢāđāļĒāļāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļˆāļēāļāđ€āļ­āļāļŠāļēāļĢ
  • āļāļēāļĢāļ§āļīāđ€āļ„āļĢāļēāļ°āļŦāđŒāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āđ€āļ­āļāļŠāļēāļĢ
  • āļĢāļđāļ›āđāļšāļšāđ€āļ­āļēāļ•āđŒāļžāļļāļ•āļŦāļĨāļēāļĒāļĢāļđāļ›āđāļšāļš
  • āļĢāļ­āļ‡āļĢāļąāļšāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ āļēāļĐāļēāđ„āļ—āļĒāđāļĨāļ°āļ āļēāļĐāļēāļ­āļąāļ‡āļāļĪāļĐ
  • āļĢāļ­āļ‡āļĢāļąāļšāđ„āļŸāļĨāđŒ PDF

āļŸāļīāļĨāļ”āđŒāļ—āļĩāđˆāļĢāļ­āļ‡āļĢāļąāļšâ€‹

  • āļāļēāļĢāļ•āļĢāļ§āļˆāļˆāļąāļšāļ‚āļ­āļšāđ€āļ‚āļ•āļŦāļ™āđ‰āļē
  • āļāļēāļĢāļĢāļđāđ‰āļˆāļģāļŠāļ·āđˆāļ­āđ€āļĢāļ·āđˆāļ­āļ‡
  • āļāļēāļĢāļ•āļĢāļ§āļˆāļˆāļąāļšāļĒāđˆāļ­āļŦāļ™āđ‰āļē
  • āļāļēāļĢāļ•āļĢāļ§āļˆāļˆāļąāļšāļĢāļđāļ›āļ āļēāļž
  • āļāļēāļĢāļĢāļđāđ‰āļˆāļģāļ•āļēāļĢāļēāļ‡
  • āļāļēāļĢāļĢāļđāđ‰āļˆāļģāļ­āļąāļāļ‚āļĢāļ°āļ āļēāļĐāļēāđ„āļ—āļĒ
  • āļāļēāļĢāļĢāļđāđ‰āļˆāļģāļ­āļąāļāļ‚āļĢāļ°āļ āļēāļĐāļēāļ­āļąāļ‡āļāļĪāļĐ
  • āļāļēāļĢāļĢāļ­āļ‡āļĢāļąāļšāļ­āļąāļāļ‚āļĢāļ°āļžāļīāđ€āļĻāļĐ

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡â€‹

āļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢ OCR āđāļĨāļ°āļŠāđˆāļ‡āļ„āļ·āļ™āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ”āļīāļšâ€‹

  • āļ„āļģāļ‚āļ­āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡
curl --location 'https://api.iapp.co.th/v3/store/ocr/document/ocr' \
--header 'apikey: {YOUR API KEY}' \
--form 'file=@"{YOUR UPLOADED FILE}"'
  • āļāļēāļĢāļ•āļ­āļšāļāļĨāļąāļšāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡
{
"text": ["āļ”āđˆāļ§āļ™āļ—āļĩāđˆāļŠāļļāļ”\nāļ—āļĩāđˆ āļĄāļ— āđāđ”āđāđ’.āđ– āļĄāļąāđˆāļ™āļ„āļ‡āđāļĨāļ°āļŠāļļāļĄāļŠāļ™āļžāļķāđˆāļ‡āļ•āļ™āđ€āļ­āļ‡āđ„āļ”āđ‰\nāļ āļēāļĒāđƒāļ™āļ›āļĩ āđ’āđ•āđ–āđ• ..."],
"time": 1.1443967819213867,
"iapp": { "page": 0, "char": 1376 }
}

āļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļ§āļīāđ€āļ„āļĢāļēāļ°āļŦāđŒāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āđ€āļ­āļāļŠāļēāļĢ, OCR āđāļĨāļ°āļŠāđˆāļ‡āļ„āļ·āļ™ JSON āļžāļĢāđ‰āļ­āļĄāļāļĨāđˆāļ­āļ‡āļ‚āļ­āļšāđ€āļ‚āļ•āđāļĨāļ°āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ”āļīāļšâ€‹

  • āļ„āļģāļ‚āļ­āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡
curl --location 'https://api.iapp.co.th/v3/store/ocr/document/layout' \
--header 'apikey: {YOUR API KEY}' \
--form 'file=@"{YOUR UPLOADED FILE}"'
  • āļāļēāļĢāļ•āļ­āļšāļāļĨāļąāļšāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡
{
"pages": [
{
"page": 1,
"components": [
{
"text": "āđƒāļŦāđ‰āđ„āļ§āđ‰ āļ“ āļ§āļąāļ™āļ—āļĩāđˆ 10 āļāļļāļĄāļ āļēāļžāļąāļ™āļ˜āđŒ 2554\n(āļ™āļēāļĒ āļ™ āļ‡ āļ›āļēāļ™āļ—āļ­āļ‡\nāļ­āļąāļĒāļāļēāļĢāļœāļđāđ‰āđ€āļŠāļĩāđˆāļĒāļ§āļŠāļēāļ āļŠāđāļēāļ™āļąāļāļ‡āļēāļ™āļ­āļąāļĒāļāļēāļĢāļ āļēāļ„ 5\nāļĢāļąāļāļĐāļēāļāļēāļĢāđƒāļ™āļ•āļēāđāļŦāļ™āđˆāļ‡āļ­āļąāļĒāļāļēāļĢāļˆāļąāļ‡āļŦāļ§āļąāļ”āđ€āļŠāļĩāļĒāļ‡āđƒāļŦāļĄāđˆ",
"bb_left": 228.6162872314453,
"bb_top": 433.568115234375,
"bb_right": 436.36279296875,
"bb_bottom": 554.9218139648438,
"type": "Signature"
},
{
"text": "āļŦāļ™āļąāļ‡āļŠāļ·āļ­āļĢāļąāļšāļĢāļ­āļ‡āļ‰āļšāļąāļšāļ™āļĩāđ‰āļ­āļ­āļāđƒāļŦāđ‰āđ€āļžāļ·āđˆāļ­āļĢāļąāļšāļĢāļ­āļ‡āļ§āđˆāļē āļŦāđ‰āļēāļ‡āļŦāļļāđ‰āļ™āļŠāđˆāļ§āļ™āļˆāļģāļāļąāļ” āđ€āļŠāļĩāļĒāļ‡āđƒāļŦāļĄāđˆāđāļŪāļĢāđŒāđāļ„āļĢāđŒāđ€āļ­āđ‡āļ™āļˆāļīāđ€āļ™āļĩāļĒāļĢāļīāđˆāļ‡ āļ‹āļķāđˆāļ‡\nāļˆāļ”āļ—āļ°āđ€āļšāļĩāļĒāļ™āđ€āļ›āđ‡āļ™āļ™āļīāļ•āļīāļšāļļāļ„āļ„āļĨ āļ“ āļŠāļģāļ™āļąāļāļ‡āļēāļ™āļ—āļ°āđ€āļšāļĩāļĒāļ™āļŦāļļāđ‰āļ™āļŠāđˆāļ§āļ™āļšāļĢāļīāļĐāļąāļ—āļˆāļąāļ‡āļŦāļ§āļąāļ”āđ€āļŠāļĩāļĒāļ‡āđƒāļŦāļĄāđˆ āļāļĢāļĄāļžāļąāļ’āļ™āļēāļ˜āļļāļĢāļāļīāļˆāļāļēāļĢāļ„āđ‰āļē\nāļāļĢāļ°āļ—āļĢāļ§āļ‡āļžāļēāļ“āļīāļŠāļĒāđŒ āļĄāļĩāļŠāļģāļ™āļąāļāļ‡āļēāļ™āđƒāļŦāļāđˆ āļ•āļąāđ‰āļ‡āļ­āļĒāļđāđˆ āđ€āļĨāļ‚āļ—āļĩāđˆ 58/19 āļŦāļĄāļđāđˆāļ—āļĩāđˆ 4 āļ•āļģāļšāļĨāļŦāļ™āļ­āļ‡āļŦāļ­āļĒ āļ­āļģāļēāđ€āļ āļ­āđ€āļĄāļ·āļ­āļ‡āđ€āļŠāļĩāļĒāļ‡āđƒāļŦāļĄāđˆ āļˆāļąāļ‡āļŦāļ§āļąāļ”\nāđ€āļŠāļĩāļĒāļ‡āđƒāļŦāļĄāđˆ 50000 āļˆāđ‰āļēāļ‡āđ€āļŦāļĄāļēāļ„āļĢāļļāļ āļąāļ“āļ‘āđŒāļŠāļģāļ™āļąāļāļ‡āļēāļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļ›āļĢāļąāļšāļ­āļēāļāļēāļĻāļžāļĢāđ‰āļ­āļĄāļ•āļīāļ”āļ•āļąāđ‰āļ‡ āļ—āļąāđ‰āļ‡āļ™āļĩāđ‰",
"bb_left": 120.08554077148438,
"bb_top": 194.70896911621094,
"bb_right": 560.1184692382812,
"bb_bottom": 271.0887756347656,
"type": "Para1"
},
{
"text": "FUSION āļĢāļļāđˆāļ™ FUC24Ff124 (āļ‰āļĨāļēāļāđ€āļšāļ­āļĢāđŒ 5) āđāļšāļšāļŸāļ­āļāļ­āļēāļāļēāļĻ āļˆāđāļēāļ™āļ§āļ™ 3 āđ€āļ„āļĢāļ·āđˆāļ­āļ‡ āļžāļĢāđ‰āļ­āļĄāļ•āļīāļ”āļ•āļąāđ‰āļ‡\nāļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļ•āļēāļĄ āļŠāļąāļāļāļēāđ€āļĨāļ‚āļ—āļĩāđˆ 1/2554 āļĨāļ‡āļ§āļąāļ™āļ—āļĩāđˆ 13 āļĄāļāļĢāļēāļ„āļĄ āļž.āļĻ. 2554 āļˆāđāļēāļ™āļ§āļ™āđ€āļ‡āļīāļ™āļ•āļēāļĄāļŠāļąāļāļāļēāļĢāļ§āļĄāļ—āļąāđ‰āļ‡\nāļŠāļēāļĄāļĢāļēāļĒāļāļēāļĢ āđ€āļ›āđ‡āļ™āđ€āļ‡āļīāļ™āļ—āļąāđ‰āļ‡āļŠāļīāđ‰āļ™ 512,255 āļšāļēāļ— (āļŦāđ‰āļēāđāļŠāļ™āļŦāļ™āļķāđˆāļ‡āļŦāļĄāļ·āđˆāļ™āļŠāļ­āļ‡āļžāļąāļ™āļŠāļ­āļ‡āļĢāđ‰āļ­āļĒāļŦāđ‰āļēāļŠāļīāļšāļŦāđ‰āļēāļšāļēāļ—āļ–āđ‰āļ§āļ™) āļ‹āļķāđˆāļ‡āļœāļđāđ‰āļˆāđ‰āļēāļ‡āđ„āļ”āđ‰",
"bb_left": 109.7691650390625,
"bb_top": 353.8553161621094,
"bb_right": 551.1951293945312,
"bb_bottom": 418.5770568847656,
"type": "Para1"
},
{ "text": "", "bb_left": 281.7373046875, "bb_top": 47.54597854614258, "bb_right": 348.1979675292969, "bb_bottom": 117.07936096191406, "type": "Logo" },
{
"text": "FISION āļĢāļļāđˆāļ™ FIC MARUDT1 (āļ‰āļĨāļēāļāđ€āļšāļ­āļĢāđŒ 5) āđāļšāļšāļŸāļ­āļāļ­āļēāļāļēāļĻ āļˆāđāļēāļ™āļ§āļ™ 11 āđ€āļ„āļĢāļ·āđˆāļ­āļ‡ āļžāļĢāđ‰āļ­āļĄāļ•āļīāļ”āļ•āļąāđ‰āļ‡\n3. āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļ›āļĢāļąāļšāļ­āļēāļāļēāļĻāđāļšāļšāđāļĒāļāļŠāđˆāļ§āļ™ āļŠāļ™āļīāļ”āļ•āļąāđ‰āļ‡āļžāļ·āđ‰āļ™āļŦāļĢāļ·āļ­āļŠāļ™āļīāļ”āđāļ‚āļ§āļ™ āļ‚āļ™āļēāļ” 25,182.95 āļĒāļđ āļĒāļĩāđˆāļŦāđ‰āļ­",
"bb_left": 107.63800048828125,
"bb_top": 313.69549560546875,
"bb_right": 527.8297119140625,
"bb_bottom": 355.0850524902344,
"type": "Para1"
},
{
"text": "FUSION āļĢāļļāđˆāļ™ FUCK1201128 (āļ‰āļĨāļēāļāđ€āļšāļ­āļĢāđŒ 5) āđāļšāļšāļŸāļ­āļāļ­āļēāļāļēāļĻ āļˆāđāļēāļ™āļ§āļ™ 11 āđ€āļ„āļĢāļ·āđˆāļ­āļ‡ āļžāļĢāđ‰āļ­āļĄāļ•āļīāļ”āļ•āļąāđ‰āļ‡\n2. āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļ›āļĢāļąāļšāļ­āļēāļāļēāļĻāđāļšāļšāđāļĒāļāļŠāđˆāļ§āļ™ āļŠāļ™āļīāļ”āļ•āļąāđ‰āļ‡āļžāļ·āđ‰āļ™āļŦāļĢāļ·āļ­āļŠāļ™āļīāļ”āđāļ‚āļ§āļ™ āļ‚āļ™āļēāļ” 18,087.01 āļšāļĩāļ—āļĩāļĒāļđ āļĒāļĩāđˆāļŦāđ‰āļ­",
"bb_left": 108.46659088134766,
"bb_top": 279.6349182128906,
"bb_right": 536.12890625,
"bb_bottom": 322.54345703125,
"type": "Para1"
},
{
"text": "āļŠāđāļēāļ™āļąāļāļ‡āļēāļ™āļ­āļąāļĒāļāļēāļĢāļˆāļąāļ‡āļŦāļ§āļąāļ”āđ€āļŠāļĩāļĒāļ‡āđƒāļŦāļĄāđˆ\nāļ„āļ™ āļĢāļēāļŠāļāļēāļĢāļˆāļąāļ‡āļŦāļ§āļąāļ”āđ€āļŠāļĩāļĒāļ‡āđƒāļŦāļĄāđˆ\nāļ–.āđ‚āļŠāļ•āļ™āļē āļŠāļĄ 50300",
"bb_left": 374.2991638183594,
"bb_top": 95.19263458251953,
"bb_right": 509.24542236328125,
"bb_bottom": 156.33181762695312,
"type": "UpperRight"
},
{ "text": "āļŦāļ™āļąāļ‡āļŠāļ·āļ­āļĢāļąāļšāļĢāļ­āļ‡āļœāļĨāļ‡āļēāļ™", "bb_left": 282.33282470703125, "bb_top": 165.2444610595703, "bb_right": 374.5608215332031, "bb_bottom": 184.74752807617188, "type": "Date" },
{
"text": "1. āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļ›āļĢāļąāļšāļ­āļēāļāļēāļĻāđāļšāļšāđāļĒāļāļŠāđˆāļ§āļ™ āļŠāļ™āļīāļ”āļ•āļąāđ‰āļ‡āļžāļ·āđ‰āļ™āļŦāļĢāļ·āļ­āļŠāļ™āļīāļ”āđāļ‚āļ§āļ™ āļ‚āļ™āļēāļ” 13,942.80 āļšāļĩāļ—āļĩāļĒāļđ āļĒāļĩāđˆāļŦāļąāļ­\nFUSION 1UCk120112 (āļ‰āļĨāļēāļāđ€āļšāļ­āļĢāđŒ 5) āđāļšāļšāļŸāļ­āļāļ­āļēāļāļēāļĻ āļˆāđāļēāļ™āļ§āļ™ 11 āđ€āļ„āļĢāļ·āđˆāļ­āļ‡ āļžāļĢāđ‰āļ­āļĄāļ•āļīāļ”āļ•āļąāđ‰āļ‡",
"bb_left": 114.9815902709961,
"bb_top": 269.22735595703125,
"bb_right": 521.8577270507812,
"bb_bottom": 306.366943359375,
"type": "Para1"
},
{ "text": "āļ—āļĩāđˆ āļ—āļŠ (āļŠāļĄ) 0037/435", "bb_left": 122.62628936767578, "bb_top": 98.11686706542969, "bb_right": 224.76698303222656, "bb_bottom": 116.89942932128906, "type": "NextPage" },
{
"text": "FLE\n2. āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļ›āļĢāļąāļšāļ­āļēāļāļēāļĻāđāļšāļšāđāļĒāļāļŠāđˆāļ§āļ™ āļŠāļ™āļīāļ”āļ•āļąāđ‰āļ‡āļžāļ·āđ‰āļ™āļŦāļĢāļ·āļ­āļŠāļ™āļīāļ”āđāļ‚āļ§āļ™ āļ‚āļ™āļēāļ” 18,087.01 āļšāļĩāļ—āļĩāļĒāļđ āļĒāļĩāđˆāļŦāđ‰āļ­\nFIISION āļĢāļļāđˆāļ™ FIC MARUIDT1 (āļ‰āļĨāļēāļāđ€āļšāļ­āļĢāđŒ 5) āđāļšāļšāļŸāļ­āļāļ­āļēāļāļēāļĻ āļˆāđāļēāļ™āļ§āļ™ 11 āđ€āļ­āļ‡ āļžāļĢāđ‰āļ­āļĄāļ•āļīāļ”āļ•āļąāđ‰āļ‡",
"bb_left": 108.22515106201172,
"bb_top": 293.6889953613281,
"bb_right": 529.6473388671875,
"bb_bottom": 338.7919616699219,
"type": "Para1"
},
{
"text": "āđ€āļŠāļĩāļĒāļ‡āđƒāļŦāļĄāđˆ 50000 āļˆāđ‰āļēāļ‡āđ€āļŦāļĄāļēāļ„āļĢāļļ āļ“ āļŠāļēāļ™āļąāļāļ‡āļēāļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļ›āļĢāļąāļšāļ­āļēāļāļēāļĻāļžāļĢāđ‰āļ­āļĄāļŠāļ” āļ‡.\n1. āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļ›āļĢāļąāļšāļ­āļēāļāļēāļĻāđāļšāļšāđāļĒāļāļŠāđˆāļ§āļ™ āļŠāļ™āļīāļ”āļ•āļąāđ‰āļ‡āļžāļ·āđ‰āļ™āļŦāļĢāļ·āļ­āļŠāļ™āļīāļ”āđāļ‚āļ§āļ™ āļ‚āļ™āļēāļ” 13,942.80 āļšāļĩāļ—āļĩāļĒāļđ āļĒāļĩāđˆāļŦāđ‰āļ­",
"bb_left": 112.15975189208984,
"bb_top": 255.9883575439453,
"bb_right": 546.0884399414062,
"bb_bottom": 290.6558532714844,
"type": "Para1"
}
]
}
],
"time": 4.234404563903809,
"iapp": { "page": 1, "char": 1673 }
}

āļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļ§āļīāđ€āļ„āļĢāļēāļ°āļŦāđŒāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āđ€āļ­āļāļŠāļēāļĢ, OCR āđāļĨāļ°āļŠāđˆāļ‡āļ„āļ·āļ™ URL āļ‚āļ­āļ‡āđ„āļŸāļĨāđŒ Microsoft Word āļ—āļĩāđˆāđāļ›āļĨāļ‡āđāļĨāđ‰āļ§ (āļĢāļđāļ›āđāļšāļš .docx)​

  • āļ„āļģāļ‚āļ­āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡
curl --location 'https://api.iapp.co.th/v3/store/ocr/document/docx' \
--header 'apikey: {YOUR API KEY}' \
--form 'file=@"{YOUR UPLOADED FILE}"'
  • āļāļēāļĢāļ•āļ­āļšāļāļĨāļąāļšāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡
{
"path": "https://storage.googleapis.com/iapp-ocr-docx/document_trial2-250114-074403.docx?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=ai-ocr%40iapp-ai-357013.iam.gserviceaccount.com%2F20250114%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20250114T074407Z&X-Goog-Expires=600&X-Goog-SignedHeaders=host&X-Goog-Signature=425b62bc36eec0cc5c0ca7442f863ae960f7a41302f8da5c312b7392011cbfe6119b4814bade146fac81da427a231142cce5d67a56c35e242437cf5a7990bc48290c403052af23eb2293da55e5249cdb803bb4c18a5b15d6262caa4b773487417dd3ed62fe47a75e42d7aa5e631e08efa1320c589042b0e244c7ba0c10ec236303f6b92d1546d49f3f1b1f4aca7ceb9715036470b6bd6caf6aecb862eef180d213f8787e65dc5f97decf0b05add6ce28499a5b76ef31112884442affc3b79dde8531a014e90352a9e73ffdc1f118e2d082294509fb41c26e3f4d55c2854c73e3142298ef75d40ee95dbe63c4c2ec4de4a170c9c746986f7d248f99f0ef9a12f9",
"time": 1.728440761566162,
"iapp": { "pages": 1, "char": 1229 }
}

āđ€āļ­āļāļŠāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡ API​

Endpoints​

EndpointMethodURLāļ„āļģāļ­āļ˜āļīāļšāļēāļĒContent-Type
āļāļēāļĢāđāļĒāļāļ‚āđ‰āļ­āļ„āļ§āļēāļĄPOSThttps://api.iapp.co.th/v3/store/ocr/document/ocrāļŠāđˆāļ‡āļ„āļ·āļ™āđ€āļ­āļēāļ•āđŒāļžāļļāļ•āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ”āļīāļšmultipart/form-data
āļāļēāļĢāļ§āļīāđ€āļ„āļĢāļēāļ°āļŦāđŒāđ€āļĨāļĒāđŒāđ€āļ­āļēāļ•āđŒPOSThttps://api.iapp.co.th/v3/store/ocr/document/layoutāļŠāđˆāļ‡āļ„āļ·āļ™ JSON āļžāļĢāđ‰āļ­āļĄāļāļĨāđˆāļ­āļ‡āļ‚āļ­āļšāđ€āļ‚āļ•āđāļĨāļ°āļ‚āđ‰āļ­āļ„āļ§āļēāļĄmultipart/form-data
āļāļēāļĢāđāļ›āļĨāļ‡ DOCXPOSThttps://api.iapp.co.th/v3/store/ocr/document/docxāļŠāđˆāļ‡āļ„āļ·āļ™ URL āđ€āļžāļ·āđˆāļ­āļ”āļēāļ§āļ™āđŒāđ‚āļŦāļĨāļ”āđ„āļŸāļĨāđŒ .docxmultipart/form-data

āļžāļēāļĢāļēāļĄāļīāđ€āļ•āļ­āļĢāđŒāļ—āļĩāđˆāļˆāļģāđ€āļ›āđ‡āļ™â€‹

āļžāļēāļĢāļēāļĄāļīāđ€āļ•āļ­āļĢāđŒāļˆāļģāđ€āļ›āđ‡āļ™āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
apikeyāđƒāļŠāđˆāļ„āļĩāļĒāđŒ API āļ‚āļ­āļ‡āļ„āļļāļ“
fileāđƒāļŠāđˆāđ„āļŸāļĨāđŒāļĢāļđāļ›āļ āļēāļž/PDF āļ‚āļ­āļ‡āđ€āļ­āļāļŠāļēāļĢ

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ‚āļ„āđ‰āļ”​

Python​

import requests

url = "https://api.iapp.co.th/v3/store/ocr/document/ocr"

payload = {}
files=[
('file',('{YOUR UPLOADED FILE}',open('{YOUR UPLOADED FILE}','rb'),'application/pdf'))
]
headers = {
'apikey': '{YOUR API KEY}'
}

response = requests.request("POST", url, headers=headers, data=payload, files=files)

print(response.text)

JavaScript​

const axios = require("axios")
const FormData = require("form-data")
const fs = require("fs")
let data = new FormData()
data.append("file", fs.createReadStream("{YOUR UPLOADED FILE}"))

let config = {
method: "post",
maxBodyLength: Infinity,
url: "https://api.iapp.co.th/v3/store/ocr/document/ocr",
headers: {
apikey: "{YOUR API KEY}",
...data.getHeaders(),
},
data: data,
}

axios
.request(config)
.then((response) => {
console.log(JSON.stringify(response.data))
})
.catch((error) => {
console.log(error)
})

PHP​

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.iapp.co.th/v3/store/ocr/document/ocr',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array('file'=> new CURLFILE('{YOUR UPLOADED FILE}')),
CURLOPT_HTTPHEADER => array(
'apikey: {YOUR API KEY}'
),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Swift​

let parameters = [
[
"key": "file",
"src": "{YOUR UPLOADED FILE}",
"type": "file"
]] as [[String: Any]]

let boundary = "Boundary-\(UUID().uuidString)"
var body = Data()
var error: Error? = nil
for param in parameters {
if param["disabled"] != nil { continue }
let paramName = param["key"]!
body += Data("--\(boundary)\r\n".utf8)
body += Data("Content-Disposition:form-data; name=\"\(paramName)\"".utf8)
if param["contentType"] != nil {
body += Data("\r\nContent-Type: \(param["contentType"] as! String)".utf8)
}
let paramType = param["type"] as! String
if paramType == "text" {
let paramValue = param["value"] as! String
body += Data("\r\n\r\n\(paramValue)\r\n".utf8)
} else {
let paramSrc = param["src"] as! String
let fileURL = URL(fileURLWithPath: paramSrc)
if let fileContent = try? Data(contentsOf: fileURL) {
body += Data("; filename=\"\(paramSrc)\"\r\n".utf8)
body += Data("Content-Type: \"content-type header\"\r\n".utf8)
body += Data("\r\n".utf8)
body += fileContent
body += Data("\r\n".utf8)
}
}
}
body += Data("--\(boundary)--\r\n".utf8);
let postData = body


var request = URLRequest(url: URL(string: "https://api.iapp.co.th/v3/store/ocr/document/ocr")!,timeoutInterval: Double.infinity)
request.addValue("{YOUR API KEY}", forHTTPHeaderField: "apikey")
request.addValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")

request.httpMethod = "POST"
request.httpBody = postData

let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data else {
print(String(describing: error))
return
}
print(String(data: data, encoding: .utf8)!)
}

task.resume()

Kotlin​

val client = OkHttpClient()
val mediaType = "text/plain".toMediaType()
val body = MultipartBody.Builder().setType(MultipartBody.FORM)
.addFormDataPart("file","{YOUR UPLOADED FILE}",
File("{YOUR UPLOADED FILE}").asRequestBody("application/octet-stream".toMediaType()))
.build()
val request = Request.Builder()
.url("https://api.iapp.co.th/v3/store/ocr/document/ocr")
.post(body)
.addHeader("apikey", "{YOUR API KEY}")
.build()
val response = client.newCall(request).execute()

Java​

OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = new MultipartBody.Builder().setType(MultipartBody.FORM)
.addFormDataPart("file","{YOUR UPLOADED FILE}",
RequestBody.create(MediaType.parse("application/octet-stream"),
new File("{YOUR UPLOADED FILE}")))
.build();
Request request = new Request.Builder()
.url("https://api.iapp.co.th/v3/store/ocr/document/ocr")
.post(body)
.addHeader("apikey", "{YOUR API KEY}")
.build();
Response response = client.newCall(request).execute();

Dart​

var headers = {
'apikey': '{YOUR API KEY}'
};
var request = http.MultipartRequest('POST', Uri.parse('https://api.iapp.co.th/v3/store/ocr/document/ocr'));
request.files.add(await http.MultipartFile.fromPath('file', '{YOUR UPLOADED FILE}'));
request.headers.addAll(headers);

http.StreamedResponse response = await request.send();

if (response.statusCode == 200) {
print(await response.stream.bytesToString());
}
else {
print(response.reasonPhrase);
}

āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāđāļĨāļ°āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžâ€‹

  • āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāđƒāļ™āļāļēāļĢāļ§āļīāđ€āļ„āļĢāļēāļ°āļŦāđŒāļŠāđˆāļ§āļ™āļ›āļĢāļ°āļāļ­āļšāđ€āļ­āļāļŠāļēāļĢ: 96.97% AP Score
  • āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāļ‚āļ­āļ‡ OCR (āļĢāļ°āļ”āļąāļšāļ„āļģ)
    • āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāļ āļēāļĐāļēāļ­āļąāļ‡āļāļĪāļĐ ~98%
    • āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāļ āļēāļĐāļēāđ„āļ—āļĒ ~96%

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ‚āļ„āđ‰āļ”​

Curl​

curl -X POST https://api.iapp.co.th/v3/store/ocr/document \
-H "apikey: YOUR_API_KEY" \
-F "file=@/path/to/document.pdf"

Python​

import requests

url = "https://api.iapp.co.th/v3/store/ocr/document/ocr"
files = {"file": ("("/path/to/document.pdf", "rb"))}
headers = {"apikey": "YOUR_API_KEY"}

response = requests.post(url, headers=headers, files=files)
print(response.json())

JavaScript​

const axios = require("axios");
const FormData = require("form-data");
const fs = require("fs");

let data = new FormData();
data.append("file", fs.createReadStream("/path/to/document.pdf"));

let config = {
method: "post",
url: "https://api.iapp.co.th/v3/store/ocr/document/ocr",
headers: {
apikey: "YOUR_API_KEY",
...data.getHeaders(),
},
data: data,
};

axios(config)
.then((response) => console.log(response.data))
.catch((error) => console.log(error));

PHP​

<?php
$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.iapp.co.th/v3/store/ocr/document/ocr',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => array(
'file'=> new CURLFILE('/path/to/document.pdf')
),
CURLOPT_HTTPHEADER => array(
'apikey: YOUR_API_KEY'
),
));

$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>

Swift​

import Foundation

let url = URL(string: "https://api.iapp.co.th/v3/store/ocr/document/ocr")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.addValue("YOUR_API_KEY", forHTTPHeaderField: "apikey")

let boundary = "Boundary-\(UUID().uuidString)"
request.setValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")

var body = Data()
body.append("--\(boundary)\r\n".data(using: .utf8)!)
body.append("Content-Disposition: form-data; name=\"file\"; filename=\"file.jpg\"\r\n".data(using: .utf8)!)
body.append("Content-Type: image/jpeg\r\n\r\n".data(using: .utf8)!)

if let fileData = try? Data(contentsOf: URL(fileURLWithPath: "/path/to/document.pdf")) {
body.append(fileData)
}
body.append("\r\n--\(boundary)--\r\n".data(using: .utf8)!)

request.httpBody = body

let task = URLSession.shared.dataTask(with: request) { data, response, error in
if let data = data {
print(String(data: data, encoding: .utf8)!)
}
}
task.resume()

Kotlin​

import okhttp3.*
import okhttp3.MediaType.Companion.toMediaTypeOrNull
import okhttp3.RequestBody.Companion.asRequestBody
import java.io.File

val client = OkHttpClient()

val file = File("/path/to/document.pdf")
val requestBody = MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart("file", file.name, file.asRequestBody("image/jpeg".toMediaTypeOrNull()))
.build()

val request = Request.Builder()
.url("https://api.iapp.co.th/v3/store/ocr/document/ocr")
.post(requestBody)
.addHeader("apikey", "YOUR_API_KEY")
.build()

client.newCall(request).execute().use { response ->
println(response.body?.string())
}

Java​

import okhttp3.*;
import java.io.File;

OkHttpClient client = new OkHttpClient();

File file = new File("/path/to/document.pdf");

RequestBody requestBody = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart("file", file.getName(),
RequestBody.create(MediaType.parse("image/jpeg"), file))
.build();

Request request = new Request.Builder()
.url("https://api.iapp.co.th/v3/store/ocr/document/ocr")
.post(requestBody)
.addHeader("apikey", "YOUR_API_KEY")
.build();

try (Response response = client.newCall(request).execute()) {
System.out.println(response.body().string());
}

Dart​

import 'package:http/http.dart' as http;

var request = http.MultipartRequest(
'POST',
Uri.parse('https://api.iapp.co.th/v3/store/ocr/document/ocr')
);

request.files.add(await http.MultipartFile.fromPath(
'file',
'/path/to/document.pdf'
));

request.headers.addAll({
'apikey': 'YOUR_API_KEY'
});

var response = await request.send();
var responseBody = await response.stream.bytesToString();
print(responseBody);

āļĢāļēāļ„āļē​

āļŠāļ·āđˆāļ­āļšāļĢāļīāļāļēāļĢ AI APIEndpointāļĢāļēāļ„āļēOn-Premise
Document OCR/v3/store/ocr/document/ocr1 IC/Pageāļ•āļīāļ”āļ•āđˆāļ­
Document OCR with Layout Structure JSON/v3/store/ocr/document/layout1 IC/Pageāļ•āļīāļ”āļ•āđˆāļ­
Document OCR convert to Microsoft Word (DOCX)/v3/store/ocr/document/docx1 IC/Pageāļ•āļīāļ”āļ•āđˆāļ­