استخراج المعلومات من ملفات PDF عبر مكتبة Python المجانية
واجهة برمجة تطبيقات Python المجانية التي تمكن المطورين من استخراج المعلومات من مستندات PDF وتحويل PDF إلى تنسيقات أخرى وإجراء تحليل تلقائي للتخطيط.
PDFMiner هو مصدر مفتوح سهل الاستخدام للغاية مكتبة Python لمعالجة ملفات PDF دون أي تبعيات أخرى. شوكة PDFMine.six التي يحتفظ بها المجتمع لمكتبة PDFMiner الأصلية. قدمت المكتبة ميزات قوية للغاية لاستخراج المعلومات من مستندات PDF. يوفر أداة مساعدة للقيادة لغير المبرمجين وواجهة API للمبرمجين. يعد محول PDF القوي أيضًا جزءًا من المكتبة يساعد المستخدمين على تحويل ملفات PDF إلى تنسيقات نصية أخرى مثل HTML.
PDFMiner عبارة عن مكتبة Python نقية يمكنها بسهولة استخراج جميع النصوص من ملف PDF الذي يتم تقديمه برمجيًا. القدرة الكبيرة هي أنه يستخرج أيضًا المواقع المقابلة ، وأسماء الخطوط وأحجامها ، واتجاه الكتابة (أفقيًا أو رأسيًا) لكل مقطع نصي. وهو يدعم مواصفات PDF-1.7 ويوفر الدعم لاستخراج مستندات PDF المحمية بكلمة مرور. تضمنت المكتبة العديد من الميزات المهمة الأخرى ، مثل تحليل مستندات PDF وتحليلها وتحويلها ، واستخراج المحتوى بتنسيق HTML أو hOCR ، ودعم نصوص الكتابة الرأسية ، ودعم تشفير RC4 و AES ، واستخراج جدول المحتويات ، واستخراج المحتويات ذات العلامات ، والتخطيط التلقائي تحليل وهلم جرا.
الشروع في العمل مع PDFMiner
يتطلب برنامج PDFMiner لغة Python 3.6 والإصدارات الأحدث. يمكنك تثبيت PDFMiner باستخدام Pip. الرجاء استخدام الأمر التالي لتثبيته.
قم بتثبيت PDFMiner عبر النقطة
pip install pdfminer
يمكنك أيضًا تنزيل المكتبة المشتركة المجمعة من مستودع GitHub وتثبيتها.
استخراج نص من ملف PDF عبر Python
تمنح مكتبة Pdfminer.six مفتوحة المصدر لمطوري البرامج القدرة على استخراج نص من ملف PDF ببضعة سطرين فقط من كود Python. تركز المكتبة على الحصول على البيانات النصية وتحليلها وبعد ذلك تستخرج النص من صفحة مباشرة من الكود المصدري لملف PDF. تتيح المكتبة أيضًا للمطورين استخراج الصور (JPG ، JBIG2 ، الصور النقطية) من ملف PDF. من الممكن أيضًا استخراج اسم الخط أو حجم كل حرف على حدة. توضح الأمثلة التالية كيفية استخراج النص من ملف PDF وطباعته على الشاشة.
افتح مستندات PDF وتعالجها عبر Python
from pdfminer.high_level import extract_text
# Extract text from a pdf.
text = extract_text('example.pdf')
# Extract iterable of LTPage objects.
pages = extract_pages('example.pdf')
print(text)
تحويل ملف PDF إلى hOCR عبر Python API
hOCR هو معيار مفتوح لتمثيل البيانات للنص المنسق الذي تم الحصول عليه من التعرف الضوئي على الحروف (OCR). تتيح مكتبات Pdfminer.six المجانية لمطوري البرامج تحويل ملفات PDF إلى تنسيق hOCR ببضعة سطرين فقط من كود Python. من السهل جدًا التعامل مع المكتبة ويمكنها استخراج المعلومات النصية الصريحة من ملفات PDF التي تحتوي عليها واستخدامها لإنشاء تمثيل hOCR أساسي.
تحويل ملف PDF إلى نص عبر Python
تتضمن المكتبة مجموعة ميزات وإمكانيات غنية تتيح لك التوسع إلى ما هو أبعد من معالجة PDF الأساسية. تتيح مكتبة Pdfminer.six مفتوحة المصدر لمطوري Python تحويل مستندات PDF إلى نص باستخدام بضعة أوامر بسيطة فقط. تحتاج أولاً إلى توفير المسار لملفات PDF وكذلك الملف النصي. إذا كان المستند محميًا بكلمة مرور ، فستحتاج أيضًا إلى توفير كلمة المرور الخاصة به. يمكن استخدام مثال الكود التالي لتحقيق الهدف ، حيث يقوم ببساطة بإرجاع السلسلة في ملف PDF ، نظرًا لاسم الملف الخاص به ، يمكنك بسهولة حفظه في ملف.
تحويل ملف PDF إلى تنسيق نص عبر Python API
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage
from io import StringIO
def convert_pdf_to_txt(path):
rsrcmgr = PDFResourceManager()
retstr = StringIO()
codec = 'utf-8'
laparams = LAParams()
device = TextConverter(rsrcmgr, retstr, codec=codec, laparams=laparams)
fp = open(path, 'rb')
interpreter = PDFPageInterpreter(rsrcmgr, device)
password = ""
maxpages = 0
caching = True
pagenos=set()
for page in PDFPage.get_pages(fp, pagenos, maxpages=maxpages, password=password,caching=caching, check_extractable=True):
interpreter.process_page(page)
text = retstr.getvalue()
fp.close()
device.close()
retstr.close()
return text