استخراج بيانات النموذج من صورة
أداة تقرأ النموذج المطبوع أو المصور — استمارة طلب، نموذج تسجيل، ورقة بيانات موظف — وتستخرج كل حقل مع القيمة المكتوبة فيه، سواء بالطباعة أو بخط اليد داخل الخانة المخصصة، كبيانات منظمة جاهزة للإدخال المباشر في نظام إلكتروني دون كتابة يدوية أخرى.
شغّلها أونلاين
شغّل هذه المهمة على خوادمنا باستخدام حسابك. الأدوات المجانية تعمل داخل متصفحك، أما هذه فتُخصم من رصيدك في KIT حسب السعر الموضّح أعلاه.
ما تقرؤه من النموذج
تقرأ الأداة النموذج المطبوع مسبقًا بحقوله الثابتة، وتستخرج القيمة المكتوبة في كل خانة سواء كانت مطبوعة بالحاسوب أو مكتوبة بخط اليد داخل الخانة نفسها بوضوح كافٍ. تربط كل قيمة بعنوان حقلها الصحيح بدل إعادة النموذج كنص واحد متصل يصعب فرزه لاحقًا أو إدخاله في نظام آخر بحقوله المنفصلة كما هي معدة له أصلًا منذ التصميم الأول للاستمارة الورقية أو الإلكترونية.
الحقول المطبوعة والمكتوبة معًا
استمارات كثيرة تخلط بين حقول مطبوعة سلفًا وحقول يملؤها الشخص بخط اليد في المساحة المخصصة لها بجانب كل عنوان. تتعامل الأداة مع الحالتين معًا داخل النموذج نفسه، فتقرأ عنوان الحقل المطبوع وقيمته المكتوبة يدويًا كزوج واحد مترابط، لا كنصين منفصلين يحتاجان لربط يدوي لاحقًا من موظف الإدخال يقارن كل سطر بعينه ويطابقه بعنوانه الصحيح واحدًا تلو الآخر بصبر طويل ودقة عالية.
التكلفة
$0.010 للطلب و$0.0575 لكل صفحة، أي أقل من $0.07 للنموذج ذي الصفحة الواحدة. معالجة مئة نموذج بعد حملة تسجيل تكلف نحو $6.75، أقل بكثير من تكلفة موظف يدخل الاستمارات يدويًا يومًا كاملًا. الدفع عبر PayPal، أو تواصل معنا لمعالجة دفعة كبيرة بانتظام كل موسم تسجيل أو حملة تسويقية واسعة تستقبل مئات الردود في أيام قليلة جدًا فقط.
نموذج بخانات ضيقة
بعض النماذج تضيق فيها خانة الكتابة اليدوية جدًا، فيميل الخط أو يخرج عن حدود الخانة إلى الخانة المجاورة فيصعب فصلهما. صورة واضحة الإضاءة وزاوية مستقيمة تحسّن الدقة في هذه الحالة، وإن أمكن ملء النموذج بخط واضح ومتباعد بين الحروف فالنتيجة تخرج أدق بكثير من خط صغير متلاصق يصعب تمييزه حتى بالعين المجردة أحيانًا دون تكبير الصورة على الشاشة أولًا بضع مرات.
حالات الاستخدام
استمارات تسجيل ورشة عمل
منظّم فعالية في جدة يجمع مئة استمارة تسجيل ورقية ويستخرج بيانات المشاركين منها دفعة واحدة عبر الـAPI بدل إدخالها يدويًا واحدة تلو الأخرى.
نموذج بيانات موظف جديد
قسم الموارد البشرية في مؤسسة النخيل للمقاولات يستخرج بيانات نموذج التوظيف الورقي الذي يملؤه الموظف الجديد يدويًا في أول يوم عمل.
استمارة طلب خدمة حكومية
موظف بلدية يستخرج بيانات استمارة طلب مقدَّمة من مواطن قبل إدخالها في النظام الإلكتروني للمتابعة.
الأسئلة الشائعة
هل تقرأ الحقول المكتوبة بخط اليد داخل النموذج؟
نعم، إن كان الخط واضحًا؛ تربط الأداة عنوان الحقل المطبوع بالقيمة المكتوبة يدويًا كزوج واحد.
كم تكلفة معالجة نموذج من صفحة واحدة؟
أقل من $0.07 ($0.010 للطلب و$0.0575 للصفحة).
هل تُحفظ صورة النموذج بعد استخراج بياناته؟
لا، تُستخدم لإنتاج البيانات المطلوبة فقط ثم تُستبعد.
هل يمكن معالجة مئة استمارة دفعة واحدة؟
نعم عبر الـAPI، كل نموذج يُعالَج كطلب مستقل فيمكن إرسال دفعة كبيرة معًا.
ماذا لو كانت خانة الكتابة ضيقة جدًا؟
الدقة قد تنخفض قليلًا في هذه الحالة؛ خط واضح ومتباعد داخل الخانة يحسّن النتيجة.
هل يعمل مع نموذج مصوّر بالجوال أم يحتاج ماسحًا ضوئيًا؟
يعمل بلا ماسح ضوئي، وصورة واضحة الإضاءة بالجوال تكفي للحصول على نتيجة جيدة.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/ocr/form \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/ocr/form", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"input": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/ocr/form",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"input": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/ocr/form", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/ocr/form", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"input": "…"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "ocr.form",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_mb | 25 |
max_pages | 10 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
413 | input_too_large | حجم المدخلات يتجاوز الحد المسموح لهذه المهمة — قسّم الملف أو صغّره. |
422 | task_failed | لم تنجح معالجة المهمة، ولن تُحتسب عليك؛ أعد المحاولة أو راسلنا مباشرة. |