ما الذي يوجد داخل ملف PDF، وماذا يفعل إصلاحه؟
ملف PDF ترويسة تسمّي إصداره، وجسم من كائنات مرقّمة (صفحات وخطوط وصور وتيارات)، وجدول إحالات مرجعية يسجل موضع بداية كل كائن، وذيل يشير إلى الفهرس والبيانات الوصفية. تعيش البيانات الوصفية في قاموس Info (العنوان والمؤلف والتواريخ والبرنامج المنتج) ومنذ PDF 1.4 في تيار XMP؛ والخطوط إما مضمّنة كاملة أو مجزّأة أو مُشار إليها بالاسم فقط. والعارض الذي لا يجد كائناً يمسح الملف ليعيد بناء جدول الإحالات — والإصلاح يفعل الشيء نفسه ويكتب الجدول المعاد بناؤه، وهو ما يعالج معظم أخطاء «الملف تالف» دون لمس الصفحات.
الجزء 1:%PDF-1.7 الجزء 2:1 0 obj << /Type /Catalog /Pages 3 0 R >> endobj الجزء 3:2 0 obj << /Title (Invoice) /Producer (…) >> endobj الجزء 4:3 0 obj << /Type /Pages /Kids [4 0 R] /Count 1 >> endobj 4 0 obj << /Type /Page /Parent 3 0 R /Contents 5 0 R >> endobj الجزء 5:5 0 obj << /Length 44 >> stream … endstream endobj الجزء 6:xref 0 6 0000000000 65535 f … الجزء 7:trailer << /Size 6 /Root 1 0 R /Info 2 0 R >> startxref … %%EOF
- 2–5الجسم: كائنات مرقّمة، يعدّها إحصاء الكائنات حسب
/Type
- 1الترويسةتسمّي إصدار PDF
- 2الفهرس (
/Root)القاموس الجذر؛ يشير إلى شجرة الصفحات وكل شيء تقريبًاشجرة الفهرس - 3قاموس Infoالبيانات الوصفية: العنوان والمؤلف والتواريخ والبرنامج المنتج
- 4شجرة الصفحاتيسرد
/Pagesأبناءه في/Kids، وتشير كل/Pageإلى محتواهاإحصاءات شجرة الصفحات - 5تدفق المحتوىبين
streamوendstreamتقع تعليمات رسم الصفحةالتدفقات - 6جدول الإحالات المرجعيةموضع بداية كل كائن؛ والإصلاح يعيد بناءه
- 7التذييل
/Size،/Root،/Info، وعند وجودها:/Encrypt،/ID،/Prevصفوف التذييل
ملف مصغّر حُذفت منه مواضع البايتات. كثير من الملفات تحمل تدفق إحالات مرجعية بدل الجدول، أو عدة تذييلات مرتبطة بـ /Prev؛ ويقرأ المستكشف آخرها.
كيفية استخدام مستكشف بنية PDF
- أسقط ملف PDF.
- انقر «فحص».
- وسّع شجرة الفهرس واقرأ النتائج.
مزايا مستكشف بنية PDF
- الترويسة والتذييل (/Size و/Root و/Info و/Encrypt و/ID و/Prev)
- قاموس الفهرس كشجرة قابلة للتصفح (مستويان)
- إحصاء الكائنات حسب /Type
- إحصاءات شجرة الصفحات وعدد التدفقات
- نتائج: JavaScript وOpenAction وإجراءات التشغيل والمرفقات والنماذج والوسائط والتشفير
مثال على مستكشف بنية PDF
النظر داخل فاتورة مولَّدة
الإدخال:
invoice.pdfالنتيجة:
الترويسة %PDF-1.7 · التذييل /Size 48 · Root 1 0 R · Info 2 0 R · الكائنات: Page 2، Font 3، XObject 1، … · النتائج: لا شيءالأسئلة الشائعة حول مستكشف بنية PDF
ما الفهرس؟
القاموس الجذر لملف PDF (/Root في التذييل). يشير إلى شجرة الصفحات والفهارس والأسماء والبيانات الوصفية وتفضيلات العارض والميزات التفاعلية؛ يكاد كل شيء يتفرع منه.
لماذا تُعدّ بعض الكائنات «غير معروفة»؟
تُجمّع الكائنات بلا مفتاح /Type — تدفقات المحتوى والصور المشار إليها بالاسم فقط والمصفوفات — حسب ما يمكن استنتاجه؛ ويُبلَّغ عن الباقي كغير مصنّف.
هل يمكن تحرير الكائنات هنا؟
لا، المستكشف للقراءة فقط. استخدم تنظيف PDF لإزالة المحتوى النشط ومحرر البيانات الوصفية لخصائص المستند.
هل يُرفع ملف PDF إلى خادم؟
لا. يفتح متصفحك الملف ويعالجه بـ WebAssembly وJavaScript؛ لا يُرسل شيء إلى متقن سوفت أو غيرها. أغلق التبويب ويختفي الملف. يحتاج تنزيل النتيجة إلى حساب مجاني فقط — بلا اشتراك وبلا دفع.
هل تعمل الأداة على ملف PDF محمي بكلمة مرور؟
نعم إذا كنت تعرف كلمة المرور: تطلبها قائمة الملفات مرة واحدة ثم تعمل كل العمليات على الصفحات المفكوكة. تُحفظ النتيجة بلا كلمة مرور ما لم تحمِها مجددًا.
ملاحظات تقنية
يقرأ المستكشف جدول كائنات pdf-lib المتسامح والفهرس، ويأخذ /Size و/Prev من آخر تذييل أو تدفق إحالات مرجعية في البايتات؛ وتُوصف القواميس المتداخلة حتى العمق 2 بالأسماء والأرقام والنصوص وأطوال المصفوفات وعلامات التدفق. لا يحل /Parent أو /Pages صعودًا أبدًا، مما يُبقي الشجرة محدودة.
المراجع
- ISO 32000-2:2020 — Document management — Portable document format — Part 2: PDF 2.0معيار PDF الحالي: بنية الملف والكائنات والصفحات والخطوط والتعليقات والنماذج والتشفير.
- PDF Reference — ISO 32000-1:2008 (PDF 1.7), Adobe copyمواصفة PDF 1.7 المتاحة للقراءة مجاناً: أشجار الصفحات وتيارات المحتوى والبيانات الوصفية والأذونات ومعالج الأمان القياسي.
- PDF.jsعارض PDF مفتوح المصدر الذي يرسم صفحات PDF في المتصفح دون إضافة — كيف تُعاين المستندات محلياً.