قراءة أرقام الرسم البياني من الصورة
تقرأ هذه الأداة رسمًا بيانيًا واحدًا — أعمدة أو خط أو دائري — من صورة أو ملف PDF، وتستخرج المحاور والفئات والقيم العددية خلفه في جدول منظم قابل للاستخدام مباشرة. تناسب من يملك تقريرًا أو عرضًا تقديميًا يحوي رسمًا بيانيًا فقط، دون الجدول الأصلي الذي بُني منه أساسًا.
شغّلها أونلاين
شغّل هذه المهمة على خوادمنا باستخدام حسابك. الأدوات المجانية تعمل داخل متصفحك، أما هذه فتُخصم من رصيدك في KIT حسب السعر الموضّح أعلاه.
محاور وفئات وقيم، لا تخمين بالعين
يحمل كل رسم بياني أرقامًا يصعب على العين قراءتها بدقة: القيمة الحقيقية لنقطة على المنحنى، أو الفارق بين عمودين متجاورين، أو ميل خط بيانات عبر الزمن. تتعرّف الأداة على المحاور وتسمياتها، وتربط كل سلسلة بيانات بلونها أو رمزها في وسيلة الإيضاح، ثم تعيد بناء القيم نقطة بنقطة. الناتج جدول جاهز للنسخ إلى Excel أو لأي معالجة أخرى، بدل قراءة كل نقطة بالعين أو إعادة بناء المصدر يدويًا من الصفر.
متى يفيدك هذا تحديدًا
الحالة الأكثر تكرارًا: رسم بياني داخل تقرير أو عرض تقديمي قديم، بينما الملف الأصلي الذي وُلّد منه الرسم غير موجود أو ضاع منذ سنوات. بدل تقدير كل قيمة بالعين، تُرفع صورة الرسم إلى الأداة فتستخرج منها الأرقام. يصلح هذا لإعادة استخدام رسم منشور، أو مقارنة فترتين زمنيتين، أو التحقق من حجم تقريبي ظهر في عرض منافس قبل الاستشهاد به في اجتماع أو تقرير داخلي.
حدود الدقة تستحق الذكر
إن كان الرسم يحمل قيمًا ظاهرة عند كل نقطة بيانات، تنقلها الأداة كما هي دون تغيير. أما إن غابت هذه التسميات، فتُقدَّر القيمة استنادًا إلى تدرج المحور، ويصبح الناتج قراءة تقريبية لا قياسًا دقيقًا. كلما كان تدرج المحور واضحًا ومنتظمًا اقتربت القيمة المقدَّرة من الرقم الحقيقي. للتحليلات الحساسة، يُنصح بمراجعة الناتج مقابل المصدر الأصلي إن كان لا يزال متاحًا. وإذا تداخلت عدة سلاسل بيانات بألوان متقاربة في الرسم نفسه، تزداد فرصة الخلط بينها، فيستحسن التحقق يدويًا من وسيلة الإيضاح قبل اعتماد النتيجة في تقرير نهائي.
السعر والتشغيل: من المتصفح أو عبر API
تكلفة الاستخراج $0.010 لكل طلب زائد $0.0575 عن كل صورة، بالدولار الأمريكي ودون اشتراك؛ تدفع فقط عمّا تستخرجه فعليًا. تعمل الأداة مباشرة من هذه الصفحة، وتتوفر أيضًا عبر الـAPI لمن يريد أتمتة استخراج سلسلة من الرسوم البيانية دفعة واحدة. تجري المعالجة على نحو غير متزامن: تُرسَل الصورة، وتبدأ مهمة في الخلفية عبر رقم task_id، وتصلك القيم فور اكتمال التحليل.
حالات الاستخدام
استرجاع أرقام رسم بياني من تقرير قديم
يستخرج محمد الحربي، محلل مالي في شركة الخليج الرقمية، قيم رسم بياني من تقرير سنوي فقد ملفه الأصلي، ليعيد بناء الجدول في عرض تقديمي جديد.
مقارنة فترتين من منحنى منشور
تسحب نورة القحطاني القيم من منحنى نُشر في مقال متخصص، لمقارنتها بأرقام العام الحالي قبل اقتباسها في تقرير داخلي.
التحقق من رقم ظهر في عرض منافس
يتحقق خالد العتيبي، صاحب مؤسسة النخيل للمقاولات، من رقم تقديري ظهر في رسم بياني بعرض منافس، قبل ذكره أمام عميل في اجتماع.
الأسئلة الشائعة
هل تُحفظ صورة الرسم البياني على خوادمكم؟
تُعالَج الصورة فقط لاستخراج القيم منها، ثم تُحذف فور اكتمال المهمة؛ لا أرشفة لملفك ولا اطلاع عليه من أي طرف.
هل الأداة مجانية؟
لا، هذه الوظيفة من الفئة المدفوعة: $0.010 لكل طلب و$0.0575 لكل صورة، بالدولار الأمريكي، دون اشتراك.
ما أنواع الرسوم البيانية المدعومة؟
الأعمدة، والخط، والدائري، والمبعثر، بشرط وضوح المحاور والتسميات في الصورة الأصلية.
هل الأرقام الناتجة دقيقة تمامًا؟
إذا كانت القيم ظاهرة على نقاط الرسم تُنقل كما هي. أما بلا تسميات فتُقدَّر من تدرج المحور، فتكون قراءة تقريبية لا قياسًا مضبوطًا.
كيف أدفع؟
عبر PayPal، أو راسلنا على واتساب أو [email protected] إن كانت طريقة أخرى أنسب لك.
هل تعمل الأداة من الجوال؟
نعم، ارفع صورة الرسم من متصفح جوالك مباشرة دون تثبيت أي تطبيق.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/ocr/chart \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"image":"https://ejemplo.com/imagen.jpg"}'const res = await fetch("https://api.kit.forhosting.com/ocr/chart", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"image": "https://ejemplo.com/imagen.jpg"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/ocr/chart",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"image": "https://ejemplo.com/imagen.jpg"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/ocr/chart", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"image":"https://ejemplo.com/imagen.jpg"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"image":"https://ejemplo.com/imagen.jpg"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/ocr/chart", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"image": "https://ejemplo.com/imagen.jpg"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "ocr.chart",
"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 | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
422 | task_failed | لم تنجح معالجة المهمة، ولن تُحتسب عليك؛ أعد المحاولة أو راسلنا مباشرة. |