إزالة المراجع من PDF بدون عنوان “المراجع” باستخدام بايثون
في العديد من الأحيان، يمكن أن تحتوي الوثائق بصيغة PDF على مراجع تشتت الانتباه، خاصةً إذا لم يكن هناك عنوان واضح مثل "المراجع" أو "الببليوغرافيا". لذلك، قد يتطلب الأمر استخدام أدوات برمجية مثل Python لكشف وإزالة هذه المراجع. سنستعرض في هذا المقال كيفية تخصيص الخوارزميات والتعبيرات العادية (regex) لاكتشاف المراجع وإزالتها بسهولة.
فهم المراجع في الوثائق
تتواجد المراجع عادة بنمط معين كما أنها تعتمد على أنواع الاقتباسات التي يستخدمها المؤلفون. يُعتبر فهم هذه الأنماط الخطوة الأولى في عملية الكشف عنها وإزالتها. ينقسم الاقتباس عادةً إلى ثلاث فئات رئيسية:
- المراجع الرقمية: مثل [1] أو (1) أو حتى (23).
- مراجع سنة المؤلف: مثل "Smith et al., 2025" أو "(Smith, 2025)".
- الروابط ومعدلات DOI: كأن تكون موجودة بشكل "doi:" أو "http://".
تطوير الكود باستخدام Python
تعتبر Python واحدة من أكثر اللغات الشائعة في معالجة النصوص وتنفيذ مثل هذه المهام. حيث يمكنك استخدام مكتبة re
الخاصة بالتعبيرات العادية لكشف المراجع. سنبدأ بكتابة النمط الأساسي الذي سنعتمده للكشف عن أنماط الاقتباس الشائعة.
import re
# الأنماط المستخدمة للكشف عن المراجع
numeric_pattern = r"^\[\d+\]|\(\d+\)"
author_year_pattern = r"\b[A-Z][a-z]+ et al\., \d{4}|\(\w+, \d{4}\)"
doi_url_pattern = r"\bdoi:|http[s]?://"
sequential_numeric_pattern = r"^\[\d+(,\s*\d+)*\]|\(\d+(,\s*\d+)*\)"
journal_style_pattern = r"[A-Za-z\s]+، \d{1,4}\([\d\-]+\):\d+\-\d+"
common_references_pattern = r"^\[\d+\]|\(\d+\)|\b[A-Z][a-z]+ وآخرون\., \d{4}|\(\w+, \d{4}\)|doi:|http[s]?://"
يُظهر الكود أعلاه مجموعة من الأنماط التي يمكنك استخدامها. يجدر بالذكر أنه يمكنك تعديل هذه الأنماط ليناسب كل وثيقة على حدة.
تنفيذ الكشف والإزالة
بعد تحديد الأنماط، يمكنك الآن استخدام هذه الأنماط لتصفية النصوص الموجودة في ملف PDF. يمكن استخدام مكتبة مثل PyPDF2 لقراءة محتوى ملف PDF وإزالة الأجزاء غير المرغوب فيها.
from PyPDF2 import PdfReader, PdfWriter
# قراءة ملف PDF
reader = PdfReader("yourfile.pdf")
writer = PdfWriter()
# البحث عن المراجع وإزالتها
for page in reader.pages:
text = page.extract_text()
clean_text = re.sub(common_references_pattern, '', text)
writer.add_page(clean_text)
# كتابة الملف الجديد
with open("cleaned_file.pdf", "wb") as output_pdf:
writer.write(output_pdf)
نتائج فعالة
ستعمل هذه العملية على إزالة المراجع من ملف PDF، مما يمنحك وثيقة أنظف وأكثر تركيزًا على المحتوى الرئيسي. تذكر أن النتائج قد تختلف بناءً على الأنماط المستخدمة في الاقتباسات في الوثيقة.
استنتاجات نهائية
تعتبر عملية الكشف عن المراجع وإزالتها من ملفات PDF عند عدم وجود عنوان "المراجع" أو "الببليوغرافيا" تحديًا، ولكن باستخدام Python والتعبيرات العادية، يمكنك تبسيط المهمة. هذا النوع من العمل مفيد للباحثين والطلاب الذين يرغبون في تنظيف الوثائق لأغراض معينة. لذا، إذا كنت بحاجة إلى إزالة المراجع من ملف PDF، استخدم هذه الأساليب لتحقيق نتائج مرضية.
من خلال اتباع هذه الخطوات، يمكنك بسهولة تنفيذ طلبك لإزالة المراجع من ملف PDF عند عدم وجود أي قسم مخصص لذلك.