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