احذف صفحات PDF الفارغة واحسب الصفحات المتبقية
حدّد أيّ الصفحات الخمس فيها نص أو صور، فتعرف أن الصفحتين 2 و4 فارغتان: تُحذف صفحتان وتبقى ثلاث. مفيد بعد المسح الضوئي أو دمج المستندات وقبل أرشفتها أو تسليمها. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
تعمل هذه الأداة داخل متصفحك — مجانًا، ولا تُرسل بياناتك إلى أي خادم
احذف صفحات PDF الفارغة من سير عمل المستندات من دون تخمين أرقام الصفحات المطلوب حذفها. أرسل سجلًا لكل صفحة بحسب ترتيبها، وحدد ما إذا كانت تحتوي على نص أو صور. تعدّ الإمكانية الصفحة فارغة فقط عند غياب الإشارتين معًا، وتعيد أرقامها ابتداءً من واحد، وتحسب عدد الصفحات المتبقية بعد الحذف. وهي مناسبة بعد المسح أو التجميع أو التصدير عندما تكون خطوة أخرى قد اكتشفت المحتوى بالفعل.
كيف تقرر الأداة أن الصفحة فارغة
تصف كل صفحة من المستند بالترتيب، وتحدد هل تحتوي على نص وهل تحتوي على صور. لا تُعد الصفحة فارغة إلا إذا خلت من الاثنين معًا، فالنص دون صورة يُبقي الصفحة، والصورة دون نص تُبقيها كذلك. هذه القاعدة الحذرة تمنع حذف الصفحات الممسوحة ضوئيًا والتواقيع والرسوم البيانية. وتعرض النتيجة أرقام الصفحات الفارغة بدءًا من 1، مع العدد الأصلي للصفحات وعدد المحذوف وعدد المتبقي.
متى تستخدمها وما الأخطاء الشائعة
تفيد بعد مسح دفعة من المستندات ضوئيًا، أو بعد دمج تقارير تركت صفحات فاصلة فارغة، أو لعرض معاينة قبل أي تعديل تبيّن أن مستندًا من اثنتي عشرة صفحة سيصبح عشر صفحات. أكثر الأخطاء شيوعًا نسيان صفحة في القائمة، لأن رقم كل صفحة يأتي من موضعها فتنزاح كل الأرقام التالية. وخطأ آخر هو الحذف من الأول إلى الأخير، لأن برامج كثيرة تعيد ترقيم الصفحات بعد كل حذف، لذا احذف من الصفحة الأخيرة إلى الأولى.
صِف كل صفحة وفق ترتيبها الأصلي
ابدأ بالقائمة التي أنشأها المحلل أو الماسح أو سير معالجة المستندات. أرسل مصفوفة pages تضم سجلًا لكل صفحة مع الحفاظ على الترتيب الدقيق. استخدم true أو false لا نصوصًا أو أرقامًا.
يحدد موضع السجل رقم الصفحة، فالسجل الأول يمثل الصفحة 1. أدرج جميع الصفحات كيلا تتغير أرقام الصفحات اللاحقة.
اعرف التعريف الدقيق للصفحة الفارغة
يكفي وجود نص أو صورة للاحتفاظ بها. تحمي هذه القاعدة الحذرة الصفحات الممسوحة والتواقيع والرسوم والأغلفة. لا تفحص الإمكانية الفراغ المرئي أو OCR أو التعليقات أو المسارات؛ بل تعتمد على المؤشرات المقدمة.
تعرض النتيجة أرقامًا تبدأ من واحد والأعداد الأصلية والمحذوفة والمتبقية. إذا كانت جميع الصفحات فارغة يكون المتبقي صفرًا.
حالات الاستخدام
نظّف دفعات المستندات الممسوحة
حوّل مؤشرات الماسح إلى قائمة حذف قبل أرشفة كل ملف PDF.
أزل صفحات الفصل الناتجة عن التصدير
اكتشف الصفحات الفارغة المضافة عند دمج التقارير واحسب العدد النهائي قبل التسليم.
عاين عملية التنظيف
اعرض الصفحات التي ستُحذف وعدد الصفحات المتبقية قبل تعديل الملف.
الأسئلة الشائعة
هل تبدأ أرقام الصفحات من الصفر؟
لا. تبدأ من واحد، ولذلك يمثل السجل الأول الصفحة 1.
هل تعدّل الإمكانية ملف PDF أو تعيده؟
لا. تعيد خطة الحذف والأعداد، وتتولى مكتبة PDF لديك تنفيذ الحذف.
هل تُحذف صفحة ممسوحة ضوئيًا لا تحتوي إلا على صورة؟
لا. لا تُعد الصفحة فارغة إلا إذا خلت من النص والصور معًا، لذلك تبقى الصفحات الممسوحة والتواقيع والرسوم والصور، وكذلك الغلاف أو الفاصل الذي لا يحمل إلا نصًا.
ماذا يحدث إذا كانت كل الصفحات فارغة؟
تظهر كل الصفحات في قائمة الصفحات الفارغة ويصبح عدد الصفحات المتبقية صفرًا. تحقق من هذا الرقم قبل الحفظ إذا كان لا ينبغي إنشاء مستند بلا صفحات.
هل تكتشف الأداة الصفحات شبه الفارغة ذات العلامات الصغيرة؟
لا. لا تفحص الأداة المساحات البيضاء أو العلامات الصغيرة أو التعليقات، بل تعتمد فقط على ما تحدده أنت لكل صفحة من وجود نص أو صور.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/pdf/remove-blank-pages \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"pages":[{"has_text":true,"has_images":false},{"has_text":false,"has_images":false},{"has_text":false,"has_images":true}]}'const res = await fetch("https://api.kit.forhosting.com/pdf/remove-blank-pages", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"pages": [
{
"has_text": true,
"has_images": false
},
{
"has_text": false,
"has_images": false
},
{
"has_text": false,
"has_images": true
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/remove-blank-pages",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"pages": [
{
"has_text": true,
"has_images": false
},
{
"has_text": false,
"has_images": false
},
{
"has_text": false,
"has_images": true
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/remove-blank-pages", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"pages":[{"has_text":true,"has_images":false},{"has_text":false,"has_images":false},{"has_text":false,"has_images":true}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"pages":[{"has_text":true,"has_images":false},{"has_text":false,"has_images":false},{"has_text":false,"has_images":true}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/remove-blank-pages", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"pages": [
{
"has_text": true,
"has_images": false
},
{
"has_text": false,
"has_images": false
},
{
"has_text": false,
"has_images": true
}
]
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.remove_blank_pages",
"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 | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
صِف كل صفحة وفق ترتيبها الأصلي
يحتاج كل سجل إلى قيمتين منطقيتين: توضح has_text وجود النص، وتوضح has_images وجود الصور.
اعرف التعريف الدقيق للصفحة الفارغة
تُصنف الصفحة فارغة فقط عندما تكون has_text وhas_images كلتاهما false.
طبّق النتيجة بأمان
ولأن أدوات كثيرة تغير الفهارس بعد كل حذف، احذف بترتيب تنازلي أو مرر التحديد الأصلي كاملًا دفعة واحدة. تفيد الأعداد أيضًا في المعاينة والتدقيق. استخدم blank_pages بوصفها خطة حذف في المكتبة التي تتعامل مع ملف PDF الفعلي. تحقق من remaining_page_count إذا كان نظامك يمنع مستندًا بلا صفحات. الحساب حتمي ولا يستخدم الشبكة أو OCR، وتكلفة استدعاء API هي $0.002.
أسئلة تقنية
ما التكلفة؟
يكلف طلب API واحد $0.002. ويتوفر الحساب الحتمي نفسه في المتصفح أيضًا.
متى تُعد الصفحة فارغة؟
فقط عندما تكون has_text وhas_images كلتاهما false. إذا كانت إحداهما true تُحفظ الصفحة.
ماذا يحدث إذا كانت كل الصفحات فارغة؟
تُعرض جميع الأرقام وتكون remaining_page_count صفرًا، ثم يقرر تطبيقك قبول النتيجة.