استخراج النص من ملفات PDF باستخدام PDFMiner في Python
عند العمل مع مستندات PDF، يمكن أن يكون استخراج النص مهمة حاسمة. تعمل مكتبة PDFMiner، وهي مكتبة Python، على تبسيط هذه العملية، مما يتيح للمطورين تحليل واستخراج النص من ملفات PDF.
واجهة برمجة تطبيقات PDFMiner المحدثة والأمثلة القديمة
تم تحديث التحديثات الأخيرة لـ PDFMiner أدخلت تغييرات على واجهة برمجة التطبيقات الخاصة بها، مما جعل العديد من الأمثلة الموجودة قديمة. يمكن أن يؤدي الانتقال إلى الإصدار الأحدث إلى ترك المطورين في حيرة، وغير متأكدين من كيفية تنفيذ المهام الأساسية مثل استخراج النص.
مثال للتنفيذ
لمعالجة هذه المشكلة، دعنا نستكشف طريقة عمل مثال يوضح كيفية استخراج النص من ملف PDF باستخدام مكتبة PDFMiner الحالية:
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
يوفر هذا الرمز طريقة شاملة لاستخراج النص، تغطي كافة الخطوات الضرورية. تأخذ وظيفة Convert_pdf_to_txt مسار ملف كمدخل وتتعامل مع عملية فتح الملف، وتهيئة المحلل اللغوي للمستند، وتحويل محتوى الصفحة إلى سلسلة نصية. يوضح هذا المثال بناء جملة PDFMiner المحدث، مما يلغي الحاجة إلى رمز عفا عليه الزمن. لقد تم اختباره بدقة والتحقق من صحته للاستخدام مع أحدث إصدار من PDFMiner.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3