Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Module Python chuyển PDF sang text

Bạn có thể dùng package PDFMiner chuyển PDF sang text.

Ví dụ

Cách dùng:

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

Code này lấy file PDF, trích xuất text trang per trang dùng process_page từ class PDFPageInterpreter.

Có alternative pyPDF với API dễ dùng hơn. pyPDF chạy tốt (giả sử PDF well-formed). Nếu chỉ muốn text (có khoảng trắng), làm sau:

import pyPdf
pdf = pyPdf.PdfFileReader(open('filename.pdf', "rb"))
for page in pdf.pages:
    print page.extractText()