
PyMuPDF
مكتبة Python مفتوحة المصدر لإدارة بيانات PDF التعريفية
جرب PyMuPDF، مكتبة Python المجانية والمفتوحة المصدر للوصول إلى البيانات الوصفية لمستندات PDF وتعديلها.
ما هو PyMuPDF؟
PyMuPDF، المعروف أيضًا باسم Fitz، هي مكتبة Python مفتوحة المصدر تقدم العديد من الميزات مثل تحليل ملفات PDF، تقسيم ودمج ملفات PDF وما إلى ذلك. ولكن في هذه الصفحة سنناقش فقط كيف يمكن لمطوري Python استخدام مكتبة PyMuPDF للتعامل مع المهام المتعلقة ببيانات تعريف PDF مثل:
- قراءة بيانات التعريف الخاصة بملف PDF: يدعم PyMuPDF الوصول إلى بيانات التعريف الخاصة بمستندات PDF التي تحتوي على معلومات مثل المؤلف والعنوان والموضوع وتاريخ الإنشاء وما إلى ذلك.
- تعديل بيانات التعريف الخاصة بملف PDF: تسمح المكتبة أيضًا بتعديل بيانات التعريف الخاصة بمستندات PDF.
- قراءة بيانات XML الوصفية: تحتوي مستندات PDF أيضًا على بيانات XML الوصفية التي لا تقتصر على خصائص المستند القياسية مثل المؤلف والعنوان وما إلى ذلك ويمكن أن تحتوي على بيانات وصفية إضافية. باستخدام PyMuPDF، يمكن للمطورين أيضًا قراءتها.
- تغيير بيانات XML الوصفية: يمكن للمطورين أيضًا تغيير بيانات XML الوصفية لملفات PDF باستخدام مكتبة PyMuPDF.
البدء باستخدام PyMuPDF
تحتاج إلى إصدار Python 3.8.0 أو أعلى لتثبيت PyMuPDF واستخدامه. لذا، قم أولاً بتثبيت Python ثم استخدم الأوامر أدناه لتثبيت PyMuPDF على جهازك باستخدام pip وvirtual Environment.
لينكس
python -m venv pymupdf-venv
. pymupdf-venv/bin/activate
pip install pymupdf
ماك
python -m venv pymupdf-venv
. pymupdf-venv/bin/activate
pip install pymupdf
نوافذ
python -m venv pymupdf-venv
.\pymupdf-venv\Scripts\activate
pip install pymupdf
قراءة بيانات PDF
يمكننا قراءة البيانات الوصفية لملف PDF باستخدام عضو metadata في مكتبة PyMuPDF التي تحتوي على محتوى البيانات الوصفية الكامل للمستند. يوضح مقتطف التعليمات البرمجية أدناه كيفية الحصول على البيانات الوصفية لملف PDF من عضو metadata:
الناتج
تُظهر لقطة الشاشة أدناه البيانات الوصفية المستردة من ملف PDF باستخدام PyMuPDF:
تعديل بيانات PDF التعريفية
يمكننا تحرير البيانات الوصفية لملفات PDF باستخدام مكتبة PyMuPDF عن طريق تمرير القاموس الذي يحتوي على الحقول التي نريد تغييرها مع قيمها الجديدة إلى طريقة set_metadata كما هو موضح في مقتطف التعليمات البرمجية أدناه:
قراءة بيانات XML الوصفية لملفات PDF
يمكننا استرداد بيانات XML الوصفية لملف PDF باستخدام مكتبة PyMuPDF. نستخدم طريقة get_xml_metadata التي تعيد بيانات XML الوصفية بالكامل كما هو موضح في مقتطف التعليمات البرمجية أدناه:
الناتج
تُظهر لقطة الشاشة أدناه بيانات XML الوصفية المستردة من ملف PDF باستخدام PyMuPDF:
تغيير بيانات XML الوصفية لملفات PDF
يمكننا تعيين أو تغيير بيانات التعريف XML لملف PDF باستخدام طريقة set_xml_metadata من مكتبة PyMuPDF. الأمر ليس بسيطًا مثل استبدال بيانات التعريف على مستوى المستند لأن طريقة set_xml_metadata ستقبل أي سلسلة وتستبدل بيانات التعريف XML الكاملة بالسلسلة التي تم تمريرها إليها.
لتجنب الحذف غير المقصود لأي معلومات بيانات وصفية، نقوم أولاً بجلب بيانات وصفية XML كاملة كسلسلة باستخدام get_xml_metadata ثم نستخدم طريقة replace للسلسلة لاستبدال المعلومات المطلوبة وأخيرًا، نمرر XML كاملة مع الحقول المتغيرة إلى طريقة set_xml_metadata التي تغير بيانات وصفية XML كاملة لملف PDF. راجع مقتطف التعليمات البرمجية أدناه للحصول على التفاصيل:
خاتمة
باختصار، يعد PyMuPDF أداة رائعة للمهام المتعلقة بمعالجة البيانات الوصفية. يمكننا بسهولة استرداد معلومات البيانات الوصفية لملفات PDF وتغييرها. ومع ذلك، فإن هناك ضعفًا ملحوظًا يكمن في طريقة set_xml_metadata. تقبل هذه الطريقة أي سلسلة يتم تمريرها إليها وتستبدل XML السابق بها مما قد يتسبب في فقدان غير مقصود للمعلومات لتجنب هذه المشكلة، يتعين على المطورين تنفيذ منطقهم لضمان التعديلات الصحيحة في بيانات XML الوصفية.