كيف تجعل ملفات PDF قابلة للبحث بالمعنى لا بالكلمة؟
تقرأ هذه القدرة ملف PDF صفحة صفحة بنموذج يفهم التخطيط البصري لا النص الخام فقط، فتفهرس العقود والتقارير حتى لو كانت ممسوحة ضوئيًا أو تحتوي جداول وصورًا، وتجعلها قابلة للبحث بالمعنى فورًا. تناسب من يملك أرشيف مستندات لا يريد قراءته يدويًا كل مرة.
شغّلها أونلاين
شغّل هذه المهمة على خوادمنا باستخدام حسابك. الأدوات المجانية تعمل داخل متصفحك، أما هذه فتُخصم من رصيدك في KIT حسب السعر الموضّح أعلاه.
لماذا لا يكفي استخراج النص العادي
أغلب ملفات PDF الحقيقية — عقود، فواتير، تقارير — تخلط نصًا مع جداول وصور وتوقيعات، وقد تكون ممسوحة ضوئيًا بلا طبقة نص أصلًا. تستخدم هذه القدرة نموذجًا بصريًا يقرأ الصفحة كما تُرى، لا كسلسلة أحرف فقط، فتحافظ على معنى الجداول وترتيب المستندات ثنائية اللغة.
كيف تصل من الملف إلى الفهرس
ترفع ملف PDF على هذه الصفحة أو ترسله عبر الـAPI، فتُقرَأ كل صفحة وتُحوَّل محتوياتها إلى فهرس قابل للبحث الدلالي فورًا بعد اكتمال المعالجة. تصلك النتيجة برقم مهمة task_id للمتابعة إن كان الملف طويلًا.
السعر يعكس القراءة البصرية
سعر هذه القدرة أعلى من فهرسة النص المباشر لأنها تُشغِّل نموذجًا بصريًا كاملًا لكل صفحة، لا استخراج نص بسيطًا؛ وهذا ما يجعلها تنجح مع مستندات لا تنجح معها أدوات الفهرسة النصية العادية، كالعقود الممسوحة ضوئيًا والمستندات ثنائية اللغة.
بعد اكتمال الفهرسة
يصبح المستند جزءًا من فهرس قابل للبحث الدلالي أو للإجابة التلقائية عليه؛ تسأل عن بند معيّن في عقد من مئة صفحة فتصلك الفقرة المطابقة مباشرة، دون أن تفتح الملف وتبحث فيه سطرًا سطرًا.
حالات الاستخدام
مكتب محاماة يفهرس أرشيف عقوده
يفهرس مكتب محاماة في الرياض ثلاثمئة عقد قديم بصيغة PDF، فيصبح بإمكان المحامي البحث عن بند معيّن في أي عقد سابق دون فتح الملفات واحدًا واحدًا.
قسم مالي يفهرس تقارير سنوية
يفهرس القسم المالي في شركة الخليج الرقمية عشر سنوات من التقارير السنوية الممسوحة ضوئيًا، ليستعيد رقمًا محددًا من تقرير قديم خلال ثوانٍ بدل مراجعة الأرشيف الورقي.
جهة حكومية تفهرس لوائح ثنائية اللغة
تفهرس جهة حكومية في أبوظبي لوائحها الداخلية المكتوبة بالعربية والإنجليزية معًا، فيبحث الموظف عن مادة نظامية بأي من اللغتين ويصله المقطع الصحيح.
الأسئلة الشائعة
هل تعمل مع ملفات PDF الممسوحة ضوئيًا بلا طبقة نص؟
نعم؛ النموذج يقرأ الصفحة بصريًا، فيفهرس المستندات الممسوحة ضوئيًا كما يفهرس المكتوبة رقميًا.
كم تكلفة فهرسة ملف PDF؟
$0.010 لكل طلب زائد $0.059 لكل صفحة؛ عقد من عشرين صفحة يكلف نحو $1.19.
لماذا سعرها أعلى من فهرسة النص العادي؟
لأنها تُشغِّل نموذجًا بصريًا يقرأ كل صفحة بتخطيطها الكامل، لا استخراج نص خام؛ وهذا ما يمكّنها من التعامل مع الجداول والمسح الضوئي والمستندات ثنائية اللغة بدقة.
هل تُحفظ ملفاتي بعد الفهرسة؟
تُستخدم لإنتاج الفهرس فقط، ولا تُنشَر ولا تُشارَك مع أي جهة أخرى بعد اكتمال المعالجة.
هل تصلح لمستند بالعربية والإنجليزية معًا؟
نعم؛ النموذج يقرأ المستند ثنائي اللغة كما هو، ويحافظ على معنى كل جزء بلغته الأصلية.
ما أقصى حجم لملف PDF واحد؟
حتى 10,000 مقطع نصي إجمالي عبر صفحات الملف؛ العقود والتقارير الطويلة جدًا يُفضَّل تقسيمها قبل الفهرسة.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/search/index-document \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/search/index-document", {
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/search/index-document",
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/search/index-document", 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/search/index-document", 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": "search.index_document",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_chunks | 10000 |
max_tokens | 20000 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
413 | input_too_large | حجم المدخلات يتجاوز الحد المسموح لهذه المهمة — قسّم الملف أو صغّره. |
422 | task_failed | لم تنجح معالجة المهمة، ولن تُحتسب عليك؛ أعد المحاولة أو راسلنا مباشرة. |