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