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