تحويل HTML إلى PDF
أداة تحوّل كود HTML أو صفحة كاملة إلى ملف PDF يحافظ على التصميم والخطوط والألوان كما هي، بما في ذلك النص العربي واتجاهه الصحيح من اليمين لليسار. تناسب من يحتاج نسخة PDF ثابتة من تقرير أو فاتورة أو صفحة تسجيل مبنية بلغة HTML، للأرشفة أو الإرسال.
شغّلها أونلاين
شغّل هذه المهمة على خوادمنا باستخدام حسابك. الأدوات المجانية تعمل داخل متصفحك، أما هذه فتُخصم من رصيدك في KIT حسب السعر الموضّح أعلاه.
من كود HTML إلى صفحة PDF جاهزة
تُدخل شفرة HTML مباشرة أو تلصق رابط الصفحة، فتحوّلها الأداة إلى ملف PDF يحافظ على التنسيق نفسه: الخطوط والألوان والجداول واتجاه النص العربي من اليمين لليسار. لا حاجة إلى فتح متصفح إضافي أو التقاط لقطة شاشة يدويًا ثم تجميعها في مستند واحد؛ تخرج الصفحة كمستند واحد بجودة طباعة، صالح للأرشفة أو الإرسال بالبريد الإلكتروني. إن كانت الصفحة طويلة وتمتد على عدة شاشات، تقسّمها الأداة تلقائيًا إلى صفحات PDF متتالية بحدود واضحة، فلا ينقطع سطر في المنتصف ولا يظهر عنصر مبتور عند حافة الصفحة.
متى تحتاج هذا التحويل
يظهر هذا الاحتياج عند إصدار تقرير من نظام داخلي يولّد صفحات HTML، أو عند حفظ نسخة ثابتة من فاتورة إلكترونية أو صفحة تسجيل قبل أن يتغيّر محتواها لاحقًا. محاسب يصدّر كشف حساب من برنامج قديم، أو موظف تسويق يؤرشف تصميم صفحة هبوط كما ظهر في تاريخ معيّن — كلاهما يحصل هنا على نسخة PDF ثابتة لا تتأثر بأي تعديل يطرأ على الموقع بعد ذلك.
السعر: $0.040 للطلب زائد $0.001 لكل صفحة
يبدأ الطلب الواحد من $0.040، وتُضاف $0.001 عن كل صفحة بعد الأولى، حتى حد 200 صفحة و25 MB للملف الناتج. يظهر السعر بالكامل قبل التنفيذ، فلا مفاجآت بعد التحويل، والدفع عبر PayPal مباشرة دون اشتراك أو رصيد يُشترى مقدمًا. صفحة واحدة قصيرة تكلّف الحد الأدنى فقط، بينما صفحة طويلة تحتوي جداول وصورًا كثيرة قد تحتسب كأكثر من صفحة PDF واحدة عند التحويل.
التنفيذ من الصفحة أو عبر الـAPI
يُنفَّذ التحويل من هذه الصفحة مباشرة داخل المتصفح، وهي الطريقة المناسبة لصفحة أو اثنتين تحتاجهما مرة واحدة. أما من يحوّل صفحات HTML كثيرة كل يوم — مثل نظام يصدر تقارير تلقائيًا أو موقع يولّد صفحات هبوط بالجملة — فتتوفر الوظيفة نفسها عبر الـAPI، لتُدمَج مباشرة في ذلك النظام دون تدخل يدوي. وسيُضاف إليها لاحقًا تطبيق للجوال وقناة البريد الإلكتروني، ليصبح التحويل ممكنًا من أي قناة يعمل بها المستخدم.
حالات الاستخدام
أرشفة تقرير من نظام داخلي
يصدر نظام المبيعات في شركة الخليج الرقمية تقريرًا شهريًا بصيغة HTML؛ يحوّله المحاسب إلى PDF ويحفظه في أرشيف الشركة قبل إغلاق الحسابات.
نسخة ثابتة من صفحة تسجيل
قبل تحديث صفحة الأسعار على موقعها، تحفظ مؤسسة النخيل للمقاولات نسخة PDF من الصفحة كما كانت وقت توقيع العرض مع العميل.
فاتورة HTML من نظام قديم
يستخدم خالد العتيبي نظام فوترة داخليًا يُخرج الفاتورة كصفحة HTML فقط؛ يحوّلها إلى PDF قبل إرسالها للعميل بالبريد الإلكتروني.
الأسئلة الشائعة
هل تُحفظ صفحة HTML التي أرفعها على خوادمكم؟
لا تبقى محفوظة على الخوادم؛ تُستخدم الصفحة أثناء التحويل فقط ثم تُحذف مع الملف الناتج بعد فترة قصيرة من التنفيذ.
هل يحافظ التحويل على النص العربي واتجاهه الصحيح؟
نعم، يخرج النص العربي باتجاهه الطبيعي من اليمين لليسار وبالخط المستخدم في صفحة HTML الأصلية، دون تفكك في الحروف.
كم يكلّف تحويل صفحة من عشر صفحات؟
$0.040 للطلب الأول زائد $0.001 عن كل صفحة إضافية، أي نحو $0.049 لعشر صفحات.
ما الحد الأقصى لحجم الصفحة أو عدد صفحاتها؟
25 ميغابايت للملف الناتج، وحتى 200 صفحة في الطلب الواحد.
هل أحتاج حسابًا لاستخدام الأداة؟
لا، تدفع مباشرة عبر PayPal لكل طلب دون تسجيل حساب أو اشتراك.
هل يعمل التحويل من الجوال؟
نعم، تعمل الصفحة من متصفح الجوال كما تعمل من الحاسوب، دون الحاجة إلى تطبيق.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/pdf/from-html \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"html":"<h1>Factura 001</h1><p>Total: 100 EUR</p>"}'const res = await fetch("https://api.kit.forhosting.com/pdf/from-html", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"html": "<h1>Factura 001</h1><p>Total: 100 EUR</p>"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/from-html",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"html": "<h1>Factura 001</h1><p>Total: 100 EUR</p>"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/from-html", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"html":"<h1>Factura 001</h1><p>Total: 100 EUR</p>"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"html":"<h1>Factura 001</h1><p>Total: 100 EUR</p>"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/from-html", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"html": "<h1>Factura 001</h1><p>Total: 100 EUR</p>"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.from_html",
"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 | حجم المدخلات يتجاوز الحد المسموح لهذه المهمة — قسّم الملف أو صغّره. |
422 | task_failed | لم تنجح معالجة المهمة، ولن تُحتسب عليك؛ أعد المحاولة أو راسلنا مباشرة. |