تحويل الصور إلى PDF واحد
أداة تجمع مجموعة صور بصيغة JPG أو PNG في ملف PDF واحد، كل صورة في صفحة منفصلة وبالترتيب الذي تختاره، دون قص أو ضغط يفسد وضوح النص داخلها. تناسب من صوّر مستندًا بالجوال صفحة صفحة ويحتاج تسليمها كملف PDF واحد لبوابة إلكترونية أو جهة رسمية لا تقبل الصور المنفردة.
شغّلها أونلاين
شغّل هذه المهمة على خوادمنا باستخدام حسابك. الأدوات المجانية تعمل داخل متصفحك، أما هذه فتُخصم من رصيدك في KIT حسب السعر الموضّح أعلاه.
من صور متفرقة إلى ملف واحد
ترفع الصور بالترتيب الذي تريده أو تعيد ترتيبها قبل التنفيذ، فتضعها الأداة في ملف PDF واحد، كل صورة في صفحتها الخاصة دون قص أو تشويه أو تغيير في دقة الصورة الأصلية. تدعم الأداة صيغتي JPG وPNG معًا في الطلب نفسه، حتى لو كانت الصور ملتقطة بأجهزة مختلفة. النتيجة ملف واحد بدل عدة صور متفرقة يصعب إرسالها أو رفعها معًا، ويسهل حفظه أو طباعته كمستند متكامل.
البوابات التي تقبل PDF فقط
كثير من البوابات الحكومية، مثل أبشر وخدمات الهوية الرقمية، تطلب المرفقات بصيغة PDF وترفض الصور المنفردة أو تقبل ملفًا واحدًا فقط لكل معاملة إلكترونية. من صوّر بطاقة أو عقدًا أو شهادة بعدة لقطات بالجوال يجمعها هنا في ملف واحد يقبله النظام مباشرة، دون تثبيت تطبيق ماسح ضوئي إضافي أو البحث عن جهاز مسح فعلي في المكتب أو المنزل عند الحاجة الطارئة.
السعر لكل صورة
سعر الطلب الواحد ثابت عند $0.002، تُحتسب كل صورة كوحدة ضمن حد 200 صفحة للملف الواحد و25 MB لحجمه الإجمالي، بغضّ النظر عن حجم كل صورة على حدة أو دقتها الأصلية أو نوع الجهاز الذي التقطها. لا رسوم منفصلة إضافية بعد ذلك؛ السعر معلن بوضوح قبل رفع الصور وقبل تأكيد تنفيذ الطلب النهائي، فتعرف التكلفة الكاملة مسبقًا دون أي مفاجآت لاحقة.
من هذه الصفحة أو عبر الـAPI
الاستخدام العادي من هذه الصفحة مباشرة، مناسب لمستند أو اثنين يحتاجهما المستخدم لمرة واحدة فقط دون تكرار يُذكر. من يحتاج تحويل عدد كبير من الصور بانتظام — مثل موظف أرشفة يستقبل مستندات ممسوحة يوميًا من عدة فروع تابعة لمؤسسته — يمكنه استدعاء الوظيفة نفسها عبر الـAPI ضمن نظام العمل المعتاد لديه، دون فتح هذه الصفحة يدويًا في كل مرة يصله فيها مستند جديد.
حالات الاستخدام
مرفق لبوابة أبشر
يصوّر عبدالله المنصوري وجهي بطاقته الوطنية بكاميرا الجوال، ويجمعهما في ملف PDF واحد قبل رفعه على معاملة إلكترونية.
شهادة من عدة صفحات مصوّرة
تحصل نورة القحطاني على شهادة تدريب من خمس صفحات مطبوعة؛ تصوّر كل صفحة على حدة ثم تجمعها في ملف PDF واحد لإرسالها لجهة التوظيف.
عقد موقّع بالكاميرا لا بالماسح
توقّع مؤسسة النخيل للمقاولات عقدًا ورقيًا مع مقاول فرعي، وتصوّر صفحاته بالجوال بدل الماسح الضوئي، ثم تجمعها هنا في ملف واحد للأرشيف.
الأسئلة الشائعة
هل يمكن تغيير ترتيب الصور قبل التحويل؟
نعم، تُرتَّب الصور في الأداة كما تريد أن تظهر صفحات الملف النهائي قبل تنفيذ الطلب.
كم صورة يمكن جمعها في ملف واحد؟
حتى 200 صورة في الطلب الواحد، طالما بقي الملف الناتج أقل من 25 ميغابايت.
هل تدعم صور الكاميرا الملتقطة بزاوية مائلة؟
تُدرَج الصورة كما هي دون تصحيح تلقائي للزاوية؛ يمكن تدوير النتيجة لاحقًا عبر أداة تدوير الصفحات إذا لزم الأمر.
كم تكلفة تحويل خمس صور؟
$0.002 للطلب الواحد، بغضّ النظر عن عدد الصور ضمن الحد المسموح.
هل تُحفظ الصور التي أرفعها؟
لا، تُستخدم الصور أثناء التحويل فقط ثم تُحذف مع الملف الناتج بعد فترة قصيرة.
هل تعمل الأداة من كاميرا الجوال مباشرة؟
نعم، يمكن رفع الصور مباشرة من معرض الجوال أو التقاطها بالكاميرا أثناء الاستخدام.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/pdf/from-images \
-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/pdf/from-images", {
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/pdf/from-images",
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/pdf/from-images", 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/pdf/from-images", 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": "pdf.from_images",
"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 | حجم المدخلات يتجاوز الحد المسموح لهذه المهمة — قسّم الملف أو صغّره. |