مساعد التعرف على النصوص OCR

دليل تطوير واجهة واجهة برمجة التطبيقات المفتوحة

احصل على اعتمادات API

مرحبا بك في منصة مساعد التعرف على النصوص OCR المفتوحة!
نقدم خدمات استخراج النصوص والتعرف على الجداول مستقرة وسريعة وجاهزة.

1. آلية المصادقة العالمية (المصادقة)

يجب أن تتضمن جميع طلبات الواجهة معلمات المصادقة التالية في عنوان URL:

اسم المعاملة مطلوب الوصف
app هي القيمة الثابتة api
token هي يمكنك العثور عليه في المركز الشخصي احصل على رمزك الخاص
2. تحديد الواجهة الأساسية (op = code)

رابط الطلب: /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
}
3. استعلام النتائج غير المتزامن (op = idcode)

رابط الطلب: /Code.ashx?op=idcode&app=api&token=YOUR_TOKEN

طريقة الاستدعاء: POST

الوظيفة: تم إرجاعه وفقا لواجهة التعرف id استعلام نتائج المعالجة غير المتزامنة. عندما تعود واجهة التعرف state=0(قيد الانتظار)، يمكنك استخدام هذه الواجهة للاستطلاع للحصول على النتيجة النهائية.

اسم المعاملة مطلوب النوع الوصف
id هي String حدد معرف طلب الدفعة الذي أعيده الواجهة ومرره عبر جسم POST.

مثال قديم

✅ استجابة ناجحة:

[
  {
    "ocrType": 0,
    "id": "a1b2c3d4-...",
    "processName": "OCR-Node-01",
    "state": 2,
    "result": {
      "autoText": "تحديد النص الناتج",
      "spiltText": "النص المقسم",
      "resultType": 0
    }
  }
]

❌ رد فاشل (معرف غير موجود أو انتهاء صلاحية النتيجة):

no

يعيد نصا عاديا no يشير إلى أنه لم يتم العثور على نتيجة لذلك المعرف، والذي قد يكون معرفا الخطأ أو النتيجة انتهت صلاحيتها وتم إزالتها.

4. سرير رفع الصور (op = imgUpload)

رابط الطلب: /Code.ashx?op=imgUpload&app=api&token=YOUR_TOKEN

طريقة الاستدعاء: POST (multipart/form-data)

الوظيفة: قم برفع صورة إلى صفحة الصور المجانية وإرجاع رابط مباشر يمكن الوصول إليه عبر الشبكة العامة. وهو مناسب للسيناريوهات التي تحتاج فيها إلى رفع صورة أولا ثم استخدام رابط URL لاستدعاء واجهة التعرف.

اسم المعاملة مطلوب النوع الوصف
(وثيقة) هي File ملفات الصور مرفوعة بطريقة متعددة الأجزاء.

مثال قديم

✅ استجابة ناجحة:

https://cdn.example.com/uploads/abc123.jpg

❌ رد فاشل (لم يتم رفع الملف أو استثناء الرفع):

no

يعيد نصا عاديا no يشير إلى أن الملف لم يتم استلامه أو حدوث استثناء أثناء عملية الرفع.

5. واجهة استعلام التوازن (حصة API)

رابط الطلب: /Code.aspx?op=count&app=api&token=YOUR_TOKEN

طريقة الاستدعاء: GET

من خلال هذه الواجهة، يمكنك عرض عدد مرات استخدام الرمز اليوم والحصة المتبقية.

مثال قديم

✅ استجابة ناجحة:

{
  "Account": "api",
  "TodayCount": 52, // مستخدم اليوم"LimitCount": 9948       // إجمالي عدد البقايا الحالية
}

❌ استجابة الفشل (رمز غير صالح أو غير مرسل):

{
  "Account": "api",
  "TodayCount": 0,
  "LimitCount": 0
}

ملاحظة: إذا كان الرمز غير صالح، فلن يتم الإبلاغ عن أي خطأ، لكنه سيعود ب JSON بقيم 0، حسب ما إذا كان عدد الحدود نعم أم لا 0 لتقييم صحة الرمز.

💻 التكليف عبر الإنترنت & رمز الوصول
// انتظر إرسال الطلب...
📋 رمز الوصول السريع (اتبع الخيارات أعلاه لتوليد التلقائي)
Code Snippet
بعد اختيار الواجهة والمعلمات، سيتم توليدها تلقائيا...
مساعد OCR خدمة عملاء عبر الإنترنت QQ
خدمة عملاء QQ(365833440)
مساعد OCR مجموعة تواصل مستخدم QQ
QQالمجموعة(100029010)
مساعدة OCR تواصل مع خدمة العملاء عبر البريد الإلكتروني
صندوق البريد:net10010@qq.com

شكرا لتعليقاتكم واقتراحاتكم!