คุณสามารถใช้แพ็คเกจ PDFMiner เพื่อแปลง PDF เป็นข้อความได้
ตัวอย่าง
คุณสามารถใช้ด้วยวิธีต่อไปนี้:
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')
ใช้ไฟล์ pdf และแยกข้อความจากหน้าทีละหน้าโดยใช้ฟังก์ชัน process_page จากคลาส PDFPageInterpreter
มีทางเลือกอื่นสำหรับ PDFMiner ที่มี API ที่ง่ายกว่ามากในการแยกข้อความ pyPDF ทำงานได้ดี (สมมติว่าคุณกำลังทำงานกับ PDF ที่มีรูปแบบถูกต้อง) หากต้องการข้อความ (เว้นวรรค) ให้ทำดังนี้:
import pyPdf pdf = pyPdf.PdfFileReader(open('filename.pdf',"rb")) for page in pdf.pages: print page.extractText()