আপনি PDFMiner প্যাকেজ ব্যবহার করে পিডিএফ থেকে টেক্সট এক্সট্রাক্ট করতে পারেন।
উদাহরণ
আপনি নিচেরভাবে ব্যবহার করতে পারেন:
import sys
from cStringIO import StringIO
from pdfminer.pdfpage import PDFPage
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.layout import LAParams
from pdfminer.converter import XMLConverter, HTMLConverter, TextConverter
def pdfparser(data):
fp = file(data, 'rb')
resource_manager = PDFResourceManager()
retstr = StringIO()
codec = 'utf-8'
laparams = LAParams()
device = TextConverter(resource_manager, retstr, codec=codec, laparams=laparams)
interpreter = PDFPageInterpreter(resource_manager, device)
# Process each page contained in the document.
for page in PDFPage.get_pages(fp):
interpreter.process_page(page)
data = retstr.getvalue()
print data
pdfparser('filename.pdf')
এটি একটি পিডিএফ ফাইল নেয় এবং PDFPageInterpreter ক্লাসের process_page ফাংশন ব্যবহার করে পেজ বাই পেজ টেক্সট এক্সট্রাক্ট করে।
PDFMiner-এর একটি বিকল্প আছে যা টেক্সট এক্সট্রাক্ট করার জন্য আরও সহজ API দেয়। pyPDF` ভালো কাজ করে (যদি আপনি ভালো-ফর্মড পিডিএফ নিয়ে কাজ করেন)। আপনি যদি শুধু টেক্সট (স্পেসসহ) চান, তবে নিচেরভাবে করতে পারেন:
import pyPdf
pdf = pyPdf.PdfFileReader(open('filename.pdf', "rb"))
for page in pdf.pages:
print page.extractText()