رابط الطلب:
/Code.ashx?op=code&app=api&token=YOUR_TOKEN&type=0
طريقة الاستدعاء: POST
تكتب المعلمات بشكل موحد في عنوان URL، ويتم تمرير بيانات الصورة عبر جسم POST (يدعم الأجزاء المتعددة
تدفق الملف، حقل النموذج، أو النص العادي).
2.1 أدخل الصورة التي سيتم التعرف عليها (اختر واحدة من ثلاث صورة)
| اسم المعاملة |
النوع |
الوصف |
| (وثيقة) |
File |
تدفق ملف رفع متعدد الأجزاء قياسي. |
| url |
String |
يمكن للشبكة العامة للصورة الوصول إلى عنوان الرابط المباشر. |
| code |
String |
سلسلة Base64 للصورة (لا حاجة لتضمين إعلان تنسيق الرأس). |
2.2 وضع النواة والتحكم في المحرك
| اسم المعاملة |
مطلوب |
الوصف |
| type |
لا |
تحديد الأنماط:
0: التعرف على النص (الافتراضي)
1: التعريف الرأسي
2: التعرف على الجدول
3: الاعتراف بالصيغة (مثل MathPix)
|
2.3 قواعد التنسيق والتخطيط (اختياري)
المعلمات التالية تمر بالقيم 1 شغل المعالجة المقابلة، القيمة 0 ليس على الموضوع.
إذا لم تكن هناك حاجة محددة، ينصح بعدم تمريرها، وترك القرار للنظام التالي:
| اسم المعاملة |
مطلوب |
الوصف |
| left |
لا |
السيرة الذاتية 1 أجبر على الفرز من اليسار إلى اليمين. |
| top |
لا |
السيرة الذاتية 1 فرز القوة من الأعلى إلى الأسفل. |
| autodirection |
لا |
السيرة الذاتية 1 يحدد تلقائيا اتجاه الصورة ويديرها لتصطف. |
| half |
لا |
السيرة الذاتية 1 ترقيم أوتوماتيكي بعرض كامل إلى نصف العرض العادي. |
| space |
لا |
السيرة الذاتية 1 يتعامل تلقائيا مع فراغات الكلمات بين الإنجليزية والصينية، واليابانية، والكورية. |
| symbol |
لا |
السيرة الذاتية 1 تصحيح علامات الترقيم الغريبة تلقائيا. |
| duplicate |
لا |
السيرة الذاتية 1 إلغاء تكرار الشرطات تلقائيا. |
2.4 وصف قيمة الإرجاع (JSON)
ترجع واجهة التعرف صيغة JSON قياسية. القيمة هي null يتم حذف الحقل تلقائيا.
الحقول العليا
| الميدان |
النوع |
الوصف |
| id |
String |
يمكن استخدام معرف الدفعة الفريد (تنسيق UUID) لهذا الطلب للاستعلام عن النتائج بشكل غير متزامن. |
| ocrType |
Int |
حدد النوع، مع معلمات الطلب type المراسلات. |
| processId |
Int |
معرف عقدة المحرك التي تعاملت مع الطلب. |
| processName |
String |
أسماء محركات العمليات. عندما يكون فارغا يشير إلى أن التعرف انتهى أو لم يتم تعيينه لعقدة. |
| state |
Int |
رموز الحالة للتعامل (انظر جدول التعداد أدناه). |
| message |
String |
وصف رسالة/خطأ إضافي، والذي يعاد فقط في حالات استثنائية. |
| result |
Object |
كائنات نتائج تحديد النواة (انظر جدول الحقول الفرعية أدناه للتفاصيل). |
| desc |
String |
معلومات وصفية إضافية مرفقة بالمحرك، إن وجدت. |
result الكائن الفرعي – نتيجة نصية
| الميدان |
النوع |
الوصف |
| autoText |
String |
⭐ الاستخدام الموصى به。 نص كامل مع دمج الفقرات الذكي وتحسين التخطيط. |
| spiltText |
String |
النص مقسم حسب الفقرة الأصلية (بين الفقرات \t المسافة البادئة + \n فاصل السطر). في الوضع الجدولي، البيانات هي أعمدة JSON. |
| transText |
String |
ترجمة النص الناتج (فقط في type=الترجمة عودة الوضع، البنية مع spiltText المراسلات). |
| lang |
String |
يتم اكتشاف معرف لغة الصورة تلقائيا بواسطة المحرك (مثلا chi_sim, eng, jpn)。 |
| resultType |
Int |
نوع تنسيق النتيجة.0= نص عادي، 1= صفحة ويب (مع عرض الصيغ)، 2= الطاولة. |
result الكائن الفرعي - بيانات 🗺️ تحديد المواقع الإحداثية
تحتوي الحقول التالية على الموقع الدقيق لكل كتلة نصية على الصورة الأصلية، مناسبة لسيناريوهات مثل تمييز التراكبات، استخراج المناطق، وغيرها.
| الميدان |
النوع |
الوصف |
| spiltLocText |
String |
نص أصلي مقسم مع معلومات إحداثيات (نتيجة دمج فقرات ذكي، بما في ذلك معلومات الموقع). |
| transLocText |
String |
نص مترجم مقسم مع معلومات إحداثية. |
| verticalText |
String (JSON) |
⭐ سلسلة JSON من مصفوفة إحداثيات كتلة نصية كاملة. واحد لكل عنصر TextCellInfo الكائن (انظر البنية أدناه). |
verticalText هيكل كائنات TextCellInfo
[
{
"words": "المحتوى النصي الذي يتم التعرف عليه",
"trans": "نتائج الترجمة (إن وجدت)",
"pageIndex": 0,
"location": {
"left": 120.0,
"top": 45.0,
"width": 230.0,
"height": 28.0
}
},
...
]
| الميدان |
النوع |
الوصف |
| words |
String |
النص الذي يتعرف عليه هذا الكتلة. |
| trans |
String |
نتائج الترجمة (تقدر فقط في وضع الترجمة). |
| pageIndex |
Int |
فهرس رقم الصفحة (صالح في سيناريوهات المستندات متعددة الصفحات، بدءا من 0). |
| location.left |
Double |
إحداثيات X (بكسل) في الزاوية العلوية اليسرى من كتلة النص. |
| location.top |
Double |
إحداثيات Y (البكسلات) في الزاوية العلوية اليسرى من كتلة النص. |
| location.width |
Double |
عرض كتلة النص (بالبكسل). |
| location.height |
Double |
ارتفاع كتلة النص (بالبكسل). |
result الكائن الفرعي - تحميل الملف
| الميدان |
النوع |
الوصف |
| viewUrl |
String |
عندما resultType=1 (صفحة الويب/الصيغة)، تم إرجاع عنوان صفحة المعاينة الإلكترونية. |
| downloadHtml |
String |
مقتطف HTML مع روابط تحميل. |
| files |
Array |
قائمة بملفات النتائج المتاحة للتحميل، وكل منها هي: DownLoadInfo الكائن (انظر البنية أدناه). |
files هيكل كائن DownLoadInfo في بنية كائن DownLoadInfo
| الميدان |
النوع |
الوصف |
| url |
String |
عنوان تحميل الملف. |
| param |
String |
قم بتحميل المعايير الإضافية التي تحتاجها. |
| fileType |
Int |
تعداد أنواع الملف:1=PDF, 2=Word, 3=PPT,
4=Excel, 5=TXT, 6=Markdown
|
| desc |
String |
وصف المستند. |
state تعداد الولايات
| القيمة |
المعنى |
الوصف |
| 0 |
قيد الانتظار |
تم استلام الطلب ولم يتم تعيين المحرك. |
| 2 |
المعالجة الناجحة |
نتائج التعرف على الارتداد طبيعية. |
| 3 |
فشل المعالجة |
المحرك يتعامل مع استثناء ويمكن إعادة تجربته. |
| 4 |
مهلة معالجة |
لم يعد المحرك خلال فترة الصلاحية. |
| 6 |
حد التزامن |
هناك الكثير من الطلبات المتزامنة، لذا يرجى تقليل التكرار. |
| 7 |
الأنواع غير مدعومة |
نوع التعرف الحالي أو تنسيق الملف غير مدعوم. |
مثال قديم
✅ الاستجابة الناجحة (مع بيانات الإحداثيات):
{
"ocrType": 0,
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"processId": 3,
"processName": "OCR-Node-01",
"state": 2,
"result": {
"autoText": "النص الكامل بعد الدمج الذكي",
"spiltText": "النص الأصلي مقسم إلى فقرات",
"verticalText": "[{\"words\":\"مرحبا\",\"location\":{\"left\":10,\"top\":20,\"width\":80,\"height\":22}}]",
"resultType": 0,
"lang": "chi_sim"
}
}
❌ استجابة الخطأ/الحد:
{
"ocrType": 0,
"processName": "نصائح",
"result": {
"spiltText": "تم استنفاد حصة API اليوم، يرجى إعادة شحنها والاستمرار في استخدامها!",
"autoText": "تم استنفاد حصة API اليوم، يرجى إعادة شحنها والاستمرار في استخدامها!"
},
"id": 1
}