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