Python 中用於將 PDF 轉換為文字有哪些模組?
你可以使用 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 檔案,使用 PDFPageInterpreter 類的 process_page 函式逐頁從中提取文字。
PDFMiner 有一個替代選項,使用更簡單的 API 來提取文字。pyPDF 執行良好(假設你處理的是格式良好的 PDF)。如果你只需要文字(帶空格),你可以執行以下操作
import pyPdf pdf = pyPdf.PdfFileReader(open('filename.pdf',"rb")) for page in pdf.pages: print page.extractText()
廣告