عبارة «الصفحة 1» قد تقصد وسم صفحة أو موضعا في المستند. عندما يحدد المساعد استشهادا من PDF، لا يكفي رقم منفرد إذا بدأ الترقيم الظاهر بعد صفحات تمهيدية. نقرأ خاصية page_labels في pypdf6.16.2، ونؤلف قائمة قصيرة دون فتح PDF أو استخراج صفحاته.
الخلاصة السريعة
لا يلزم أن يكون الوسم 1 أول صفحة؛ تعرض page_labels وسوم الصفحات بترتيب المستند. [1] اذكر الموضع والفهرس والوسم معا، ولا تدعي أنه رقم مطبوع في المحتوى.
- توثق pypdf6.16.2 قائمة page_labels للوسوم بترتيب الصفحات، وهي خاصية للقراءة. [1] ترتيب القائمة غير معنى نص كل وسم.
- قائمتنا المؤلفة بالترتيب: i، ii، 1، 2، 3. الوسم 1 يخص ثالث موضع، وفهرسه الصفري 2؛ لا الصفحة الأولى ذات الفهرس 0.
- الشيفرة تبني القائمة بفهرس range بدءا من الصفر. [1] لذلك تحويل الموضع البشري 3 إلى فهرس 2 طرح واحد، وليس تغيير الوسم 1.
- الوسم لا يثبت رقما مطبوعا أو موضع اقتباس صحيحا؛ احتفظ بمعرف المستند ونسخته والموضع، ولم نفتح PDF أو نقرأ محتواه.
أي قائمة وصفها التوثيق؟
توثق pypdf6.16.2 خاصية page_labels بأنها قائمة وسوم، مرتبة وفق ظهور الصفحات في المستند، وللقراءة فقط. [1]
القائمة تربط كل صفحة بنص وسمها، لكنها لا تجعل ذلك النص عدد موضعها تلقائيا. لو قال المساعد «1»، نسأله أي خانة يقصد قبل أن ننقل الاستشهاد إلى نص آخر.
نقصر القراءة على الخاصية في هذا الإصدار. لم نستخرج وسوما من ملف حقيقي، ولا نعلن أن برنامج عرض معين يستعمل عبارتنا نفسها للتنقل أو يفسرها كفهرس.
كيف يتأخر الوسم 1 في قائمة؟
نؤلف خمس صفحات بوسوم i و ii و 1 و 2 و 3 على هذا الترتيب. الصفحتان الأوليان تمهيديتان في سياق ورقتنا، ثم يبدأ القسم المرقم بوسم 1. هذا اختيار تعليمي معلن، لا نسخ لترقيم مستند ناشر.
الصفحة ذات الوسم 1 هي الثالثة في ترتيب المستند. أما أول صفحة فهي ذات الوسم i. لا يكشف نص الوسم وحده عدد ما قبله؛ نحتاج موقعه في القائمة التي قدمناها.
إذا حذفنا التمهيد في نسخة أخرى، تتغير عضوية المستند ومواضعه. لا ننقل فهرس النسخة الأولى إلى الثانية دون قائمتها، ولا نستنتج أن النص الداخلي بقي كما كان.
| الموضع في الورقة | الفهرس الصفري | الوسم المعلن |
|---|---|---|
| الأول | 0 | i |
| الثاني | 1 | ii |
| الثالث | 2 | 1 |
| الرابع | 3 | 2 |
| الخامس | 4 | 3 |
لماذا لا يساوي الفهرس الوسم؟
تبني الشيفرة القائمة باستدعاء page_index2page_label لكل i في range بعدد الصفحات، أي بفهرسة بدءا من الصفر. [1]
في قائمتنا، الموضع الثالث له الفهرس 2 لأننا نحسب المواضع بشريا من 1 والفهارس من 0. لكن وسمه النصي 1 اختير للقسم الداخلي. طرح واحد من موضع 3 يعطي الفهرس 2؛ لا يعني أن علينا طرح واحد من كل وسم.
الوسم i ليس رقما نستعمله في الطرح أصلا. لذلك يكتب المساعد بطاقة الاستشهاد بخانات منفصلة، بدل عملية تحويل عامة يأخذ مدخلها من أي نص بجانب كلمة صفحة.
هل رأينا الرقم في محتوى الصفحة؟
قائمة الوسوم ليست قراءة للمحتوى المطبوع. لم تقدم ورقتنا صورة للصفحة الثالثة أو نصها، فلا نقول إن أسفلها يحمل الرقم 1 أو إن اقتباسا بعينه موجود فيها. نعرف ربط الوسم بالموضع في قائمة مؤلفة فقط.
نقترح تسجيل معرف المستند ونسخته والفهرس والوسم والاقتباس عندما تتاح مادته. يمكن أن يبقى الوسم نفسه في مستندين مختلفين؛ لا يمنح وحده هوية مرجع أو صحة استشهاد.
لم نفتح PDF أو نستخرج صفحة أو نجرب عارضا. يفيد الجدول في شرح موضع محدد، مع إبقاء النص المطبوع ومحتوى الاستشهاد مسائل تحتاج فحص المستند نفسه.
المصادر ومتابعة القراءة
- pypdf6.16.2: PdfDocCommon page_labels source (يفتح في نافذة جديدة)pypdf.readthedocs.io
أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.
