Skip to main content

📄 OCR ใบรับรองการหักภาษี ณ ที่จ่ายของไทย

1 ICต่อหน้า
v3.0 ใช้งานได้ ธันวาคม 2567 POST /v3/store/ocr/tax-deduction-certificate

ยินดีต้อนรับสู่ API OCR ใบรับรองการหักภาษี ณ ที่จ่ายของไทย โซลูชันที่ขับเคลื่อนด้วย AI พัฒนาโดย บริษัท ไอแอพพ์เทคโนโลยี จำกัด สำหรับการแยกข้อมูลจากใบรับรองการหักภาษี ณ ที่จ่ายของไทย เอกสารนี้จะช่วยให้คุณสามารถผสานรวมและใช้บริการ OCR ของเราได้อย่างมีประสิทธิภาพ

ทดลองใช้งาน Demo!

ทดลองใช้ AI Demo

เข้าสู่ระบบหรือสร้างบัญชีฟรีเพื่อใช้งาน AI Demo และสำรวจ API ที่ทรงพลังของเรา

รับ 50 เครดิตฟรี (IC) เมื่อสมัครสมาชิก!

โปรโมชันหมดเขต 31 ธันวาคม 2568

Example Images (Click to try)

Example 1
Try Demo

เริ่มต้นใช้งาน

  1. ข้อกำหนดเบื้องต้น

    • API Key จาก ไอแอพพ์เทคโนโลยี
    • รูปภาพใบรับรองการหักภาษี ณ ที่จ่ายของไทย
    • รูปแบบไฟล์ที่รองรับ: JPEG, JPG, PNG, HEIC, HEIF, PDF
    • ขนาดไฟล์สูงสุด: 10MB
  2. เริ่มต้นอย่างรวดเร็ว

    • ประมวลผลรวดเร็ว (5-10 วินาทีต่อเอกสาร)
    • การแยกข้อความที่มีความแม่นยำสูง
    • รองรับรูปแบบไฟล์หลากหลาย
  3. คุณสมบัติหลัก

    • การแยกข้อมูลอย่างละเอียด รวมถึง:
      • รายละเอียดใบรับรอง (ID, วันที่)
      • ข้อมูลผู้จ่าย (ชื่อ, ที่อยู่, เลขประจำตัวผู้เสียภาษี)
      • ข้อมูลผู้รับ (ชื่อ, ที่อยู่, เลขประจำตัวผู้เสียภาษี)
      • รายละเอียดรายได้ (ประเภท, จำนวนเงิน, ภาษีหัก ณ ที่จ่าย)
      • สรุปทางการเงิน (รายได้รวม, ภาษีหัก ณ ที่จ่ายรวม)
    • รองรับเอกสารทั้งหน้าเดียวและหลายหน้า (PDF)
    • ตัวเลือกในการส่งคืนข้อความ OCR ต้นฉบับและรูปภาพที่ประมวลผลแล้ว
    • รูปแบบการตอบสนอง JSON ที่ยืดหยุ่นพร้อมการแยกข้อมูลอย่างละเอียด
  4. ความปลอดภัยและการปฏิบัติตามข้อกำหนด

    • เป็นไปตาม GDPR และ PDPA
    • Endpoint API ที่ปลอดภัย
    • ไม่มีการเก็บข้อมูลหลังจากประมวลผล

API ของเราได้รับการออกแบบมาเพื่อจัดการกับรูปแบบและเค้าโครงของใบรับรองการหักภาษี ณ ที่จ่ายต่างๆ ที่ใช้กันทั่วไปในประเทศไทย โมเดล AI หลังการประมวลผลได้รับการฝึกฝนให้เข้าใจโครงสร้างเอกสารภาษีไทยและสามารถแยกข้อมูลได้อย่างน่าเชื่อถือแม้จากเอกสารที่มีสัญญาณรบกวนหรือสแกนไม่ชัดเจน

ตัวอย่าง

นี่คือตัวอย่างใบรับรองการหักภาษี ณ ที่จ่ายของไทยและข้อมูลที่แยกออกมา:

ตัวอย่างใบรับรองการหักภาษี ณ ที่จ่ายของไทย

คำขอ:

cURL

curl -X POST https://api.iapp.co.th/ocr/v3/tax-deduction-certificate/file \
-H apikey: YOUR_API_KEY \
-F file=@/path/to/certificate.jpg \
-F return_image=false \
-F return_ocr=false
วิธีรับ API Key?

โปรดไปที่หน้า การจัดการ API Key เพื่อดู API Key ที่มีอยู่ของคุณ หรือขอ API Key ใหม่

Endpoint API

EndpointMethodคำอธิบายค่าใช้จ่าย
/v3/store/ocr/tax-deduction-certificate
/ocr/v3/tax-deduction-certificate
POSTแยกข้อมูลจากใบรับรองการหักภาษี ณ ที่จ่ายของไทย1 IC ต่อหน้า

การตอบสนอง:

{
"message": "success",
"raw": {},
"processed": {
"documentType": "หนังสือรับรองการหักภาษี ณ ที่จ่าย",
"documentForm": "ภ.ง.ด.3",
"bookNumber": "TX63XXXX",
"documentNumber": null,
"taxDeductor": {
"name": "บริษัท XXXXXXXXXXXXXXXXXXXX จำกัด",
"taxId": "010XXXXXXXX64",
"address": "XXXX XXXXXX XXXXXXXX เขตจอมทอง กรุงเทพมหานคร 10150"
},
"taxpayer": {
"name": "นายXXXXX เป็นตัวอย่าง",
"taxId": "31XXXXXXXX123",
"address": "XXXX XXXXXX XXXXXXXX เขตสาทร กรุงเทพมหานคร"
},
"paymentTypes": [
{
"paymentDate": "02/09/63",
"amount": XXXXX.XX,
"withholdingTax": XXXX.XX
}
],
"totalAmount": XXXXX.XX,
"totalTax": XXXX.XX,
"socialSecurity": {
"amount": null,
"year": null
},
"taxPayerMethod": "ออกภาษีให้ตลอดไป"
},
"confidence": {
"documentType": 0.95,
"documentForm": 0.95,
"bookNumber": 0.9,
"documentNumber": 0.9,
"taxDeductor": 0.95,
"taxpayer": 0.95,
"paymentTypes": 0.9,
"totalAmount": 0.95,
"totalTax": 0.95,
"socialSecurity": 0.9,
"taxPayerMethod": 0.95
},
"template": "tax-deduction-certificate",
"iapp": {
"page": 0,
"char": 3260
},
"process_ms": 46649
}

คุณสมบัติและความสามารถ

คุณสมบัติหลัก

  1. การประมวลผลเอกสาร

    • การแยกข้อความและจดจำฟิลด์ที่มีความแม่นยำสูง
    • รองรับภาษาไทย
    • ความเร็วในการประมวลผล 25-30 วินาทีต่อเอกสาร
    • รองรับหลายรูปแบบ (JPEG, JPG, PNG, HEIC, HEIF, PDF)
    • การจัดการเอกสารหลายหน้า
    • ตัวเลือกในการส่งคืนข้อความ OCR ต้นฉบับและรูปภาพที่ประมวลผลแล้ว
    • การประมวลผลที่สอดคล้องกับ GDPR และ PDPA
  2. การแยกข้อมูล

    • รูปแบบการตอบสนอง JSON ที่ยืดหยุ่นพร้อมการแยกข้อมูลอย่างละเอียด

ฟิลด์ที่รองรับ

ฟิลด์ประเภทคำอธิบาย
documentTypeStringประเภทของเอกสารภาษี
documentFormStringประเภทของแบบฟอร์ม (ภ.ง.ด.1ก, ภ.ง.ด.1ก พิเศษ, ภ.ง.ด.2, ภ.ง.ด.3, ภ.ง.ด.2ก, ภ.ง.ด.3ก, ภ.ง.ด.53)
bookNumberStringเลขที่เล่มของเอกสาร
documentNumberStringเลขที่เอกสาร
taxDeductor.nameStringชื่อผู้หักภาษี
taxDeductor.taxIdStringเลขประจำตัวผู้เสียภาษีของผู้หักภาษี
taxDeductor.addressStringที่อยู่ของผู้หักภาษี
taxpayer.nameStringชื่อผู้เสียภาษี
taxpayer.taxIdStringเลขประจำตัวผู้เสียภาษีของผู้เสียภาษี
taxpayer.addressStringที่อยู่ของผู้เสียภาษี
paymentTypes[].paymentDateStringวันที่ชำระเงิน
paymentTypes[].amountNumberจำนวนเงินที่ชำระ
paymentTypes[].withholdingTaxNumberจำนวนภาษีหัก ณ ที่จ่าย
totalAmountNumberจำนวนเงินที่ชำระทั้งหมด
totalTaxNumberจำนวนภาษีหัก ณ ที่จ่ายทั้งหมด
socialSecurity.amountNumberจำนวนเงินประกันสังคม
socialSecurity.yearNumberปีประกันสังคม
taxPayerMethodStringวิธีการชำระภาษีของผู้เสียภาษี (หักภาษี ณ ที่จ่าย, ออกภาษีให้ตลอดไป, ออกภาษีให้ครั้งเดียว, อื่นๆ)
confidenceObjectคะแนนความมั่นใจ (0-1) สำหรับแต่ละฟิลด์ที่แยกออกมา ค่าที่สูงขึ้นบ่งชี้ถึงความน่าเชื่อถือในการแยกที่มากขึ้น

เอกสารอ้างอิง API

ยินดีต้อนรับสู่ API OCR ใบรับรองการหักภาษี ณ ที่จ่ายของไทย เครื่องมืออันทรงพลังสำหรับแปลงใบรับรองการหักภาษี ณ ที่จ่ายของไทยให้เป็นข้อมูล JSON ที่มีโครงสร้าง API นี้ใช้ประโยชน์จากเทคโนโลยี OCR และ AI ขั้นสูงเพื่อแยกข้อมูลสำคัญ เช่น รายละเอียดเอกสาร ข้อมูลผู้หักภาษีและผู้เสียภาษี ข้อมูลการชำระเงิน และจำนวนภาษี

การรับรู้ใบรับรองการหักภาษี ณ ที่จ่าย

มี Endpoint สองรายการพร้อมใช้งานสำหรับการประมวลผลใบรับรองการหักภาษี ณ ที่จ่าย:

1. การอัปโหลดไฟล์

POST https://api.iapp.co.th/ocr/v3/tax-deduction-certificate/file

ส่วนหัวของคำขอ

ชื่อประเภทจำเป็นคำอธิบาย
apikeystringใช่API Key ของคุณ

ส่วนเนื้อหาของคำขอ (multipart/form-data)

พารามิเตอร์ประเภทจำเป็นคำอธิบาย
filefileใช่รูปภาพใบรับรองภาษี (JPEG, PNG) หรือเอกสาร PDF
return_imagebooleanไม่รวมรูปภาพที่เข้ารหัสแบบ base64 ในการตอบสนอง (ค่าเริ่มต้น: false)
return_ocrbooleanไม่รวมข้อความ OCR ต้นฉบับในการตอบสนอง (ค่าเริ่มต้น: false)

ประเภทไฟล์ที่รองรับ

  • รูปภาพ: JPEG, PNG, HEIC, HEIF
  • เอกสาร: PDF (สูงสุด 10 หน้า)

รูปแบบการตอบสนอง

{
"message": "success",
"raw": {
"image": "string", // เข้ารหัสแบบ Base64 เฉพาะเมื่อ return_image=true
"text": "string" // เฉพาะเมื่อ return_ocr=true
},
"processed": {
"documentType": "string",
"documentForm": "string",
"bookNumber": "string",
"documentNumber": "string",
"taxDeductor": {
"name": "string",
"taxId": "string",
"address": "string"
},
"taxpayer": {
"name": "string",
"taxId": "string",
"address": "string"
},
"paymentTypes": [
{
"paymentDate": "string",
"amount": "number",
"withholdingTax": "number"
}
],
"totalAmount": "number",
"totalTax": "number",
"socialSecurity": {
"amount": "number",
"year": "number"
},
"taxPayerMethod": "string"
},
"confidence": {
"documentType": "number",
"documentForm": "number",
"bookNumber": "number",
"documentNumber": "number",
"taxDeductor": "number",
"taxpayer": "number",
"paymentTypes": "number",
"totalAmount": "number",
"totalTax": "number",
"socialSecurity": "number",
"taxPayerMethod": "number"
},
"template": "tax-deduction-certificate",
"iapp": {
"page": "number",
"char": "number"
},
"process_ms": "number"
}

2. รูปภาพ Base64

POST https://api.iapp.co.th/ocr/v3/tax-deduction-certificate/base64

ส่วนหัวของคำขอ
ชื่อประเภทจำเป็นคำอธิบาย
apikeystringใช่API Key ของคุณ
ส่วนเนื้อหาของคำขอ

คุณสามารถส่งข้อมูล base64 ได้ทั้งในรูปแบบ JSON หรือ form data:

รูปแบบ JSON:

{
"base64_string": "string", // ข้อมูลรูปภาพที่เข้ารหัสแบบ Base64
"return_image": false, // ไม่บังคับ
"return_ocr": false // ไม่บังคับ
}

รูปแบบ Form Data:

พารามิเตอร์ประเภทจำเป็นคำอธิบาย
base64_stringstringใช่ข้อมูลรูปภาพที่เข้ารหัสแบบ Base64
return_imagebooleanไม่รวมรูปภาพที่เข้ารหัสแบบ base64 ในการตอบสนอง (ค่าเริ่มต้น: false)
return_ocrbooleanไม่รวมข้อความ OCR ต้นฉบับในการตอบสนอง (ค่าเริ่มต้น: false)
รูปแบบการตอบสนอง

เหมือนกับ Endpoint การอัปโหลดไฟล์

ตัวอย่างโค้ด

Curl

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

Python (อัปโหลดไฟล์)

import requests
apiKey = 'YOUR_API_KEY'
filePath = '/path/to/tax-deduction-certificate.jpg'
url = "https://api.iapp.co.th/ocr/v3/tax-deduction-certificate/file"

headers = {'apikey': apiKey}
files = {'file': ('tax-deduction-certificate.jpg', open(filePath, 'rb'), 'image/jpeg')}
data = {'return_image': 'false', 'return_ocr': 'false'}

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

Python (Base64)

import requests
import base64

apiKey = 'YOUR_API_KEY'
filePath = '/path/to/tax-deduction-certificate.jpg'
url = "https://api.iapp.co.th/ocr/v3/tax-deduction-certificate/base64"

# อ่านไฟล์รูปภาพและแปลงเป็น base64
with open(filePath, 'rb') as image_file:
base64_string = base64.b64encode(image_file.read()).decode()

headers = {
'apikey': apiKey,
'Content-Type': 'application/json'
}

data = {
'base64_string': base64_string,
'return_image': False,
'return_ocr': False
}

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

Javascript (อัปโหลดไฟล์)

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

const apiKey = "YOUR_API_KEY"
const filePath = "/path/to/tax-deduction-certificate.jpg"
const url = "https://api.iapp.co.th/ocr/v3/tax-deduction-certificate/file"

const form = new FormData()
form.append("file", fs.createReadStream(filePath))
form.append("return_image", "false")
form.append("return_ocr", "false")

try {
const response = await axios.post(url, form, {
headers: {
...form.getHeaders(),
apikey: apiKey,
},
})
return response.data
} catch (error) {
throw error
}

Javascript (Base64)

const axios = require("axios")
const fs = require("fs")

const apiKey = "YOUR_API_KEY"
const filePath = "/path/to/tax-deduction-certificate.jpg"
const url = "https://api.iapp.co.th/ocr/v3/tax-deduction-certificate/base64"

// อ่านไฟล์รูปภาพและแปลงเป็น base64
const base64String = fs.readFileSync(filePath, { encoding: "base64" })

const data = {
base64_string: base64String,
return_image: false,
return_ocr: false,
}

try {
const response = await axios.post(url, data, {
headers: {
"Content-Type": "application/json",
apikey: apiKey,
},
})
return response.data
} catch (error) {
throw error
}

PHP (อัปโหลดไฟล์)

$url = 'https://api.iapp.co.th/ocr/v3/tax-deduction-certificate/file';
$apiKey = 'YOUR_API_KEY';
$filePath = '/path/to/tax-deduction-certificate.jpg';

$headers = array(
'apikey: ' . $apiKey
);

$postFields = array(
'file' => new CURLFile($filePath),
'return_image' => 'false',
'return_ocr' => 'false'
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$response = curl_exec($ch);
curl_close($ch);

echo $response;

PHP (Base64)

$url = 'https://api.iapp.co.th/ocr/v3/tax-deduction-certificate/base64';
$apiKey = 'YOUR_API_KEY';
$filePath = '/path/to/tax-deduction-certificate.jpg';

// อ่านไฟล์รูปภาพและแปลงเป็น base64
$base64String = base64_encode(file_get_contents($filePath));

$data = array(
'base64_string' => $base64String,
'return_image' => false,
'return_ocr' => false
);

$headers = array(
'Content-Type: application/json',
'apikey: ' . $apiKey
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$response = curl_exec($ch);
curl_close($ch);

echo $response;

Swift (อัปโหลดไฟล์)

import Foundation

let url = URL(string: "https://api.iapp.co.th/ocr/v3/tax-deduction-certificate/file")!
let filePath = "/path/to/tax-deduction-certificate.jpg"
let apiKey = "YOUR_API_KEY"

var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue(apiKey, forHTTPHeaderField: "apikey")

let 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=\"tax-deduction-certificate.jpg\"\r\n".data(using: .utf8)!)
body.append("Content-Type: image/jpeg\r\n\r\n".data(using: .utf8)!)
body.append(try! Data(contentsOf: URL(fileURLWithPath: filePath)))
body.append("\r\n--\(boundary)\r\n".data(using: .utf8)!)
body.append("Content-Disposition: form-data; name=\"return_image\"\r\n\r\nfalse\r\n".data(using: .utf8)!)
body.append("--\(boundary)\r\n".data(using: .utf8)!)
body.append("Content-Disposition: form-data; name=\"return_ocr\"\r\n\r\nfalse\r\n".data(using: .utf8)!)
body.append("--\(boundary)--\r\n".data(using: .utf8)!)

request.httpBody = body

let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data, error == nil else {
print("Error: \(error?.localizedDescription ?? "Unknown error")")
return
}
print(String(data: data, encoding: .utf8)!)
}

task.resume()

Swift (Base64)

import Foundation

let url = URL(string: "https://api.iapp.co.th/ocr/v3/tax-deduction-certificate/base64")!
let filePath = "/path/to/tax-deduction-certificate.jpg"
let apiKey = "YOUR_API_KEY"

// อ่านไฟล์รูปภาพและแปลงเป็น base64
guard let imageData = try? Data(contentsOf: URL(fileURLWithPath: filePath)) else {
print("Error reading file")
return
}
let base64String = imageData.base64EncodedString()

let parameters: [String: Any] = [
"base64_string": base64String,
"return_image": false,
"return_ocr": false
]

var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue(apiKey, forHTTPHeaderField: "apikey")
request.httpBody = try? JSONSerialization.data(withJSONObject: parameters)

let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data, error == nil else {
print("Error: \(error?.localizedDescription ?? "Unknown error")")
return
}
print(String(data: data, encoding: .utf8)!)
}

task.resume()

Kotlin (อัปโหลดไฟล์)

import okhttp3.*
import java.io.File

val client = OkHttpClient()
val apiKey = "YOUR_API_KEY"
val filePath = "/path/to/tax-deduction-certificate.jpg"
val url = "https://api.iapp.co.th/ocr/v3/tax-deduction-certificate/file"

val file = File(filePath)
val requestBody = MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart("file", file.name, RequestBody.create(MediaType.parse("image/jpeg"), file))
.addFormDataPart("return_image", "false")
.addFormDataPart("return_ocr", "false")
.build()

val request = Request.Builder()
.url(url)
.post(requestBody)
.addHeader("apikey", apiKey)
.build()

client.newCall(request).enqueue(object : Callback {
override fun onFailure(call: Call, e: IOException) {
e.printStackTrace()
}

override fun onResponse(call: Call, response: Response) {
response.use {
if (!response.isSuccessful) throw IOException("Unexpected code $response")
println(response.body()?.string())
}
}
})

Kotlin (Base64)

import okhttp3.*
import java.io.File
import android.util.Base64
import org.json.JSONObject

fun processBase64Image() {
val client = OkHttpClient()
val apiKey = "YOUR_API_KEY"
val filePath = "/path/to/tax-deduction-certificate.jpg"
val url = "https://api.iapp.co.th/ocr/v3/tax-deduction-certificate/base64"

// อ่านไฟล์และแปลงเป็น base64
val file = File(filePath)
val bytes = file.readBytes()
val base64String = Base64.encodeToString(bytes, Base64.DEFAULT)

val json = JSONObject()
json.put("base64_string", base64String)
json.put("return_image", false)
json.put("return_ocr", false)

val requestBody = RequestBody.create(
MediaType.parse("application/json"),
json.toString()
)

val request = Request.Builder()
.url(url)
.post(requestBody)
.addHeader("Content-Type", "application/json")
.addHeader("apikey", apiKey)
.build()

client.newCall(request).enqueue(object : Callback {
override fun onFailure(call: Call, e: IOException) {
e.printStackTrace()
}

override fun onResponse(call: Call, response: Response) {
response.use {
if (!response.isSuccessful) throw IOException("Unexpected code $response")
println(response.body()?.string())
}
}
})
}

Java (อัปโหลดไฟล์)

import okhttp3.*;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.util.Base64;
import org.json.JSONObject;

public class Main {
public static void main(String[] args) {
OkHttpClient client = new OkHttpClient();

String apiKey = "YOUR_API_KEY";
String url = "https://api.iapp.co.th/ocr/v3/tax-deduction-certificate/file";
String filePath = "/path/to/tax-deduction-certificate.jpg";

try {
// อ่านไฟล์และแปลงเป็น base64
byte[] fileContent = Files.readAllBytes(new File(filePath).toPath());
String base64String = Base64.getEncoder().encodeToString(fileContent);

JSONObject json = new JSONObject();
json.put("base64_string", base64String);
json.put("return_image", false);
json.put("return_ocr", false);

RequestBody requestBody = RequestBody.create(
MediaType.parse("application/json"),
json.toString()
);

Request request = new Request.Builder()
.url(url)
.post(requestBody)
.addHeader("Content-Type", "application/json")
.addHeader("apikey", apiKey)
.build();

client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
e.printStackTrace();
}

@Override
public void onResponse(Call call, Response response) throws IOException {
if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);
System.out.println(response.body().string());
}
});
} catch (Exception e) {
e.printStackTrace();
}
}
}

Java (Base64)

import okhttp3.*;
import java.io.File;
import java.io.IOException;
import java.util.Base64;
import java.nio.file.Files;
import org.json.JSONObject;

public class Main {
public static void main(String[] args) {
OkHttpClient client = new OkHttpClient();

String apiKey = "YOUR_API_KEY";
String url = "https://api.iapp.co.th/ocr/v3/tax-deduction-certificate/base64";
String filePath = "/path/to/tax-deduction-certificate.jpg";

try {
// อ่านไฟล์และแปลงเป็น base64
byte[] fileContent = Files.readAllBytes(new File(filePath).toPath());
String base64String = Base64.getEncoder().encodeToString(fileContent);

JSONObject json = new JSONObject();
json.put("base64_string", base64String);
json.put("return_image", false);
json.put("return_ocr", false);

RequestBody requestBody = RequestBody.create(
MediaType.parse("application/json"),
json.toString()
);

Request request = new Request.Builder()
.url(url)
.post(requestBody)
.addHeader("Content-Type", "application/json")
.addHeader("apikey", apiKey)
.build();

client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
e.printStackTrace();
}

@Override
public void onResponse(Call call, Response response) throws IOException {
if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);
System.out.println(response.body().string());
}
});
} catch (Exception e) {
e.printStackTrace();
}
}
}

Dart (อัปโหลดไฟล์)

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

String url = 'https://api.iapp.co.th/ocr/v3/tax-deduction-certificate/file';
String filePath = '/path/to/tax-deduction-certificate.jpg';
String apiKey = 'YOUR_API_KEY';

void main() async {
var url = Uri.parse(url);
var request = http.MultipartRequest('POST', url)
..headers['apikey'] = apiKey
..files.add(await http.MultipartFile.fromPath('file', filePath))
..fields['return_image'] = 'false'
..fields['return_ocr'] = 'false';

var response = await request.send();

if (response.statusCode == 200) {
var responseData = await response.stream.bytesToString();
print(responseData);
} else {
print('Error: ${response.statusCode}');
}
}

Dart (Base64)

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

String url = 'https://api.iapp.co.th/ocr/v3/tax-deduction-certificate/base64';
String filePath = '/path/to/tax-deduction-certificate.jpg';
String apiKey = 'YOUR_API_KEY';

void main() async {
var url = Uri.parse(url);
var request = http.MultipartRequest('POST', url)
..headers['apikey'] = apiKey
..fields['return_image'] = 'false'
..fields['return_ocr'] = 'false';

// อ่านไฟล์รูปภาพและแปลงเป็น base64
File file = File(filePath);
List<int> fileBytes = await file.readAsBytes();
String base64String = base64Encode(fileBytes);

request.fields['base64_string'] = base64String;

var response = await request.send();

if (response.statusCode == 200) {
var responseData = await response.stream.bytesToString();
print(responseData);
} else {
print('Error: ${response.statusCode}');
}
}

ข้อจำกัดและแนวทางปฏิบัติที่ดีที่สุด

ข้อจำกัด

  • ขนาดไฟล์สูงสุด: 10MB
  • ภาษาที่รองรับ: ไทย
  • ไฟล์ PDF: สูงสุด 10 หน้า
  • ขีดจำกัดอัตรา: 10 คำขอต่อวินาทีต่อ API key

แนวทางปฏิบัติที่ดีที่สุด

  1. ตรวจสอบให้แน่ใจว่าคุณภาพของรูปภาพดีเยี่ยมเพื่อผลลัพธ์ที่ดีที่สุด
  2. ใช้รูปแบบ JPEG หรือ PNG สำหรับรูปภาพ
  3. ใช้การจัดการข้อผิดพลาดสำหรับคำขอที่ล้มเหลว
  4. แคชการตอบสนองเมื่อประมวลผลเอกสารเดียวกันหลายครั้ง
  5. ตั้งค่า Timeout ที่เหมาะสมสำหรับไฟล์ขนาดใหญ่

ความแม่นยำและประสิทธิภาพ

ความแม่นยำโดยรวม

จากการทดสอบชุดข้อมูลอ้างอิงของเราซึ่งประกอบด้วยใบรับรองการหักภาษี ณ ที่จ่ายของไทย 5,000 ฉบับ:

ประเภทฟิลด์ความแม่นยำ (%)หมายเหตุ
หมายเลขใบรับรอง99.5%รวม ID ใบรับรอง
จำนวนเงิน99.8%มูลค่าสกุลเงินและยอดรวม
วันที่99.0%รูปแบบวันที่ไทยต่างๆ
เลขประจำตัวผู้เสียภาษี99.7%ทั้งบุคคลธรรมดาและนิติบุคคล
โดยรวม99.5%ค่าเฉลี่ยถ่วงน้ำหนัก

ความเร็วในการประมวลผล

  • เวลาประมวลผลเฉลี่ย: 25-30 วินาที
  • เปอร์เซ็นไทล์ที่ 95: 45 วินาที
  • เวลาประมวลผลสูงสุด: 67 วินาที

ปัจจัยที่มีผลต่อความแม่นยำ

  1. คุณภาพของรูปภาพ

    • ความละเอียด (แนะนำขั้นต่ำ 300 DPI)
    • สภาพแสง
    • ความคมชัดและรายละเอียดของรูปภาพ
  2. สภาพของเอกสาร

    • ความเสียหายทางกายภาพ
    • สีซีดจางหรือสึกหรอ
    • การแก้ไขด้วยลายมือ
  3. รูปแบบของเอกสาร

    • รูปแบบมาตรฐาน: ความแม่นยำ 99%+
    • เค้าโครงที่ไม่เป็นมาตรฐาน: ความแม่นยำ 95%+
    • ส่วนประกอบที่เป็นลายมือ: ความแม่นยำ 90%+

ประวัติ

โมเดลของเราได้รับการฝึกฝนอย่างต่อเนื่องด้วยข้อมูลใหม่ๆ เพื่อปรับปรุงความแม่นยำ:

เวอร์ชันวันที่ออกความแม่นยำการปรับปรุงหลัก
3.02024-12-2799.5%เวอร์ชันพื้นฐาน

ราคา

ชื่อบริการ AI APIราคาOn-Premise
OCR ใบรับรองการหักภาษี ณ ที่จ่ายของไทย1 IC/หน้าติดต่อ