احذف صفحات PDF الفارغة واحسب الصفحات المتبقية
احذف صفحات PDF الفارغة من سير عمل المستندات من دون تخمين أرقام الصفحات المطلوب حذفها.
شغّل الأداة مجانًا
تعمل هذه الأداة داخل متصفحك — مجانًا، ولا تُرسل بياناتك إلى أي خادم
أرسل سجلًا لكل صفحة بحسب ترتيبها، وحدد ما إذا كانت تحتوي على نص أو صور. تعدّ الإمكانية الصفحة فارغة فقط عند غياب الإشارتين معًا، وتعيد أرقامها ابتداءً من واحد، وتحسب عدد الصفحات المتبقية بعد الحذف. وهي مناسبة بعد المسح أو التجميع أو التصدير عندما تكون خطوة أخرى قد اكتشفت المحتوى بالفعل.
صِف كل صفحة وفق ترتيبها الأصلي
ابدأ بالقائمة التي أنشأها المحلل أو الماسح أو سير معالجة المستندات. أرسل مصفوفة pages تضم سجلًا لكل صفحة مع الحفاظ على الترتيب الدقيق. يحتاج كل سجل إلى قيمتين منطقيتين: توضح has_text وجود النص، وتوضح has_images وجود الصور. استخدم true أو false لا نصوصًا أو أرقامًا. يحدد موضع السجل رقم الصفحة، فالسجل الأول يمثل الصفحة 1. أدرج جميع الصفحات كيلا تتغير أرقام الصفحات اللاحقة.
اعرف التعريف الدقيق للصفحة الفارغة
تُصنف الصفحة فارغة فقط عندما تكون has_text وhas_images كلتاهما false. يكفي وجود نص أو صورة للاحتفاظ بها. تحمي هذه القاعدة الحذرة الصفحات الممسوحة والتواقيع والرسوم والأغلفة. لا تفحص الإمكانية الفراغ المرئي أو OCR أو التعليقات أو المسارات؛ بل تعتمد على المؤشرات المقدمة. تعرض النتيجة أرقامًا تبدأ من واحد والأعداد الأصلية والمحذوفة والمتبقية. إذا كانت جميع الصفحات فارغة يكون المتبقي صفرًا.
طبّق النتيجة بأمان
استخدم blank_pages بوصفها خطة حذف في المكتبة التي تتعامل مع ملف PDF الفعلي. ولأن أدوات كثيرة تغير الفهارس بعد كل حذف، احذف بترتيب تنازلي أو مرر التحديد الأصلي كاملًا دفعة واحدة. تحقق من remaining_page_count إذا كان نظامك يمنع مستندًا بلا صفحات. تفيد الأعداد أيضًا في المعاينة والتدقيق. الحساب حتمي ولا يستخدم الشبكة أو OCR، وتكلفة استدعاء API هي $0.002.
حالات الاستخدام
نظّف دفعات المستندات الممسوحة
حوّل مؤشرات الماسح إلى قائمة حذف قبل أرشفة كل ملف PDF.
أزل صفحات الفصل الناتجة عن التصدير
اكتشف الصفحات الفارغة المضافة عند دمج التقارير واحسب العدد النهائي قبل التسليم.
عاين عملية التنظيف
اعرض الصفحات التي ستُحذف وعدد الصفحات المتبقية قبل تعديل الملف.
الأسئلة الشائعة
ما التكلفة؟
يكلف طلب API واحد $0.002. ويتوفر الحساب الحتمي نفسه في المتصفح أيضًا.
متى تُعد الصفحة فارغة؟
فقط عندما تكون has_text وhas_images كلتاهما false. إذا كانت إحداهما true تُحفظ الصفحة.
هل تبدأ أرقام الصفحات من الصفر؟
لا. تبدأ من واحد، ولذلك يمثل السجل الأول الصفحة 1.
هل تعدّل الإمكانية ملف PDF أو تعيده؟
لا. تعيد خطة الحذف والأعداد، وتتولى مكتبة PDF لديك تنفيذ الحذف.
ماذا يحدث إذا كانت كل الصفحات فارغة؟
تُعرض جميع الأرقام وتكون remaining_page_count صفرًا، ثم يقرر تطبيقك قبول النتيجة.
للمطوّرين — الوصول عبر 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 | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |