এটি 2020 সালের মে মাসে পাইথন 3-তে পিডিএফএমাইনার ব্যবহার করে কাজ করে।
প্যাকেজ ইনস্টল করা হচ্ছে
$ pip install pdfminer.six
প্যাকেজ আমদানি করা হচ্ছে
from pdfminer.high_level import extract_text
ডিস্কে সংরক্ষিত পিডিএফ ব্যবহার করা
text = extract_text('report.pdf')
বা বিকল্পভাবে:
with open('report.pdf','rb') as f:
text = extract_text(f)
ইতিমধ্যে মেমরিতে পিডিএফ ব্যবহার করা
যদি পিডিএফটি ইতিমধ্যে মেমরিতে থাকে, উদাহরণস্বরূপ যদি অনুরোধের লাইব্রেরি দিয়ে ওয়েব থেকে পুনরুদ্ধার করা হয় তবে এটি io
লাইব্রেরি ব্যবহার করে একটি স্ট্রিমে রূপান্তর করা যেতে পারে :
import io
response = requests.get(url)
text = extract_text(io.BytesIO(response.content))
পিপিডিএফ 2 এর সাথে তুলনা করে পারফরম্যান্স এবং নির্ভরযোগ্যতা
পিডিএফএমএন.সিক্স পিডিপিডিএফ 2 (যা নির্দিষ্ট ধরণের পিডিএফগুলির সাথে ব্যর্থ হয়) এর চেয়ে বেশি নির্ভরযোগ্যতার সাথে কাজ করে, বিশেষত পিডিএফ সংস্করণ 1.7 এ
যাইহোক, পিডিএফএমনার.সিক্স সহ পাঠ্য নিষ্কাশন 6 টির একটি ফ্যাক্টর দ্বারা পিপিডিএফ 2 এর তুলনায় উল্লেখযোগ্যভাবে ধীর।
আমি timeit
একটি 15 "এমবিপি (2018) তে পাঠ্য নিষ্কাশন সময়সই করেছি, কেবলমাত্র নিষ্কাশন ফাংশনের সময় নির্ধারণ করেছি (কোনও ফাইল খোলার ইত্যাদি নয়) 10 পৃষ্ঠার পিডিএফ সহ এবং নিম্নলিখিত ফলাফলগুলি পেয়েছি:
PDFminer.six: 2.88 sec
PyPDF2: 0.45 sec
পিডিএফমিনার.সিক্সে একটি বিশাল পায়ের ছাপ রয়েছে, যার জন্য পাইক্রিপ্টোডোম প্রয়োজন হয় যার জন্য জিসিসি এবং অন্যান্য জিনিসগুলি ইনস্টল করা দরকার যা অ্যালপাইন লিনাক্সে ৮০ এমবি থেকে ৩ 350০ এমবি অবধি ন্যূনতম ইনস্টল ডকার ইমেজটি পুশ করে। পাইপডিএফ 2 এর কোনও স্টোরেজ প্রভাব লক্ষ্য করা যায় না।