ما الذي تفعله هذه الأداة
يأخذ هذا المقسِّم ملف PDF واحداً ويستخرج بالضبط الصفحات التي تطلبها كملفات جديدة. أفلِت ملف PDF، اكتب نطاقاً واحداً أو أكثر (1-3, 5, 7-9)، وقرّر هل يصبح كل نطاق تنزيلاً مستقلاً أم تجتمع كلها في ملف إخراج واحد. لا توجد خطوة رفع: يُقرأ ملف PDF المصدر إلى الذاكرة، ويُشرَّح بمكتبة pdf-lib، وتُحفظ الملفات الناتجة عبر تنزيل المتصفح المعتاد. TaskKit لا يرى الملف أبداً.
متى تستخدمها
- استخراج فصل أو قسم منفرد من كتاب أو تقرير PDF طويل حتى لا يحصل المستلم على المجلّد كاملاً.
- فصل ملف ممسوح متعدّد الصفحات (ملف PDF يحوي عدّة وثائق) إلى ملف PDF لكل وثيقة.
- اقتطاع فاتورة أو عقد من حزمة نهاية الشهر المجمَّعة للأرشفة أو التوجيه.
- إنتاج نشرة منقَّحة عبر اختيار الصفحات الآمنة للمشاركة فقط.
- تقسيم ملف تقديم كبير ليتناسب مع حد حجم الرفع في بوابة لا تقبل ملف PDF كاملاً.
كيف تعمل
يقبل حقل النطاقات إدخالات مفصولة بفواصل. كل إدخال إمّا صفحة مفردة (5) أو نطاق بالشرطة (7-9)؛ تُتجاهل المسافات حول الفواصل والشرطات. يتحقّق المحلّل من كل إدخال مقابل عدد صفحات المصدر قبل بناء أي إخراج — تظهر الأخطاء في الصياغة أو القيم خارج المدى كرسالة واحدة مفهومة بدلاً من ملف نصف مكتوب.
لكل نطاق يُنشَأ PDFDocument جديد وتُسحَب الصفحات المطابِقة بدالة copyPages، التي تحافظ على الخطوط والصور والشروحات وحقول النماذج المضمَّنة. يُسلسَل الناتج بـ save() ويُنزَّل باسم مولَّد مثل source-pages-1-3.pdf أو source-page-5.pdf. ولأن كروم يحجب أحياناً تبويباً يُطلق عدداً كبيراً من أحداث التنزيل دفعة واحدة، نُباعد بين التنزيلات بنحو 150 ملّي ثانية لتُحترم القائمة دائماً.
مع تشغيل خيار اجمع كل النطاقات في ملف PDF واحد، تُجمَع الاختيارات نفسها في إخراج واحد (source-extracted.pdf). يتبع الترتيب ترتيب النطاقات التي كتبتها، لا ترتيب الصفحات الأصلي — إذن 5, 1-3 يُنتِج PDF يبدأ بالصفحة 5.
ملاحظات
هل تُدعم ملفات PDF المشفّرة؟ جزئياً. ملفات PDF بكلمة مرور فتح قياسية تُحمَّل عادةً (pdf-lib متساهلة)؛ ملفات PDF ذات تشفير المحتوى الكامل أو DRM قد تفشل في التحليل. عند فشل التحميل، تُظهر اللوحة خطأً ولا يُكتب شيء.
لماذا التنزيلات متباعدة؟ المتصفحات تكبت بشكل مُسلّم تبويبات تُصدر تنزيلات متتابعة كثيرة، معتبرةً ذلك سلوكاً مريباً. فجوة setTimeout صغيرة بين كل a.click() تُبقي الدفعة دون العتبة وتظل فورية بالنسبة للإنسان.
هل تُحفظ مراجع الصفحات؟ الروابط الداخلية التي تُشير إلى صفحة داخل النطاق المُحتفَظ به تظل تعمل. الروابط التي تستهدف صفحة لم تُختَر تتحوّل إلى مرسى ميت — pdf-lib لا تخترع بديلاً. ينطبق الأمر نفسه على عناوين فهرس المحتويات، التي تُعاد بناؤها للصفحات الباقية فقط.
هل أستطيع إعادة ترتيب الصفحات؟ نعم — يتبع الإخراج ترتيب النطاقات التي تذكرها. 5, 1-3, 7 يُنتج إخراجاً يبدأ بالصفحة 5، ثم 1، 2، 3، وينتهي بالصفحة 7. وهذا أسهل طريق لاستخدام المقسِّم كأداة إعادة ترتيب سريعة بدمجه مع خيار "ملف PDF واحد".
أدوات ذات صلة
- دمج PDF — ادمج بالاتجاه الآخر
- PDF إلى صور — حين تريد PNG/JPEG بدلاً من PDF
- مولّد التجزئة — لبصمة المخرجات قبل توجيهها