Bạn có thể sử dụng gói PDFMiner để chuyển đổi PDF thành văn bản.
Ví dụ
Bạn có thể sử dụng nó theo cách sau:
import sys from cStringIO import StringIO from pdfminer.pdfpage importPDFPage from pdfminer.pdfinterp importPDFResourceManager, PDFPageInterpreter from pdfminer.layout importLAParams from pdfminer.converter importXMLConverter, 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 thedocument. for page in PDFPage.get_pages(fp): interpreter.process_page(page) data = retstr.getvalue() print data pdfparser('filename.pdf')
Thao tác này đưa vào một tệp pdf và trích xuất văn bản từ nó từng trang bằng cách sử dụng hàm process_page từ lớp PDFPageInterpreter.
Có một giải pháp thay thế cho PDFMiner với một API dễ sử dụng hơn nhiều để trích xuất văn bản. pyPDF hoạt động tốt (giả sử rằng bạn đang làm việc với các tệp PDF được định dạng tốt). Nếu tất cả những gì bạn muốn là văn bản (có dấu cách), bạn có thể làm như sau:
import pyPdf pdf = pyPdf.PdfFileReader(open('filename.pdf',"rb")) for page in pdf.pages: print page.extractText()