Computer >> Máy Tính >  >> Lập trình >> Python

Các mô-đun có sẵn trong Python để chuyển đổi PDF thành văn bản là gì?


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()