2017-05-17 6 views

答えて

0

私はpython 3.4を使用していますが、python 3.5と同じ方法で動作すると思います。 ここに私が使用しているものがあります:

from pdfminer.pdfparser import PDFParser, PDFDocument 
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter 
from pdfminer.converter import PDFPageAggregator 
from pdfminer.layout import LAParams, LTTextBox, LTTextLine 

parser = PDFParser(file_content) 
doc = PDFDocument() 
parser.set_document(doc) 
doc.set_parser(parser) 
doc.initialize('') 
rsrcmgr = PDFResourceManager() 
laparams = LAParams() 
#I changed the following 2 parameters to get rid of white spaces inside words: 
laparams.char_margin = 1.0 
laparams.word_margin = 1.0 
device = PDFPageAggregator(rsrcmgr, laparams=laparams) 
interpreter = PDFPageInterpreter(rsrcmgr, device) 
extracted_text = '' 

# Process each page contained in the document. 
for page in doc.get_pages(): 
    interpreter.process_page(page) 
    layout = device.get_result() 
    for lt_obj in layout: 
     if isinstance(lt_obj, LTTextBox) or isinstance(lt_obj, LTTextLine): 
      extracted_text += string 

with open('convertedFile.txt',"wb") as txt_file: 
    txt_file.write(extracted_text.encode("utf-8")) 
3

私はリサのコードを修正しました。それは今働きます!

fp = open(path, 'rb') 
    from pdfminer.pdfparser import PDFParser, PDFDocument 
    from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter 
    from pdfminer.converter import PDFPageAggregator 
    from pdfminer.layout import LAParams, LTTextBox, LTTextLine 

    parser = PDFParser(fp) 
    doc = PDFDocument() 
    parser.set_document(doc) 
    doc.set_parser(parser) 
    doc.initialize('') 
    rsrcmgr = PDFResourceManager() 
    laparams = LAParams() 
    laparams.char_margin = 1.0 
    laparams.word_margin = 1.0 
    device = PDFPageAggregator(rsrcmgr, laparams=laparams) 
    interpreter = PDFPageInterpreter(rsrcmgr, device) 
    extracted_text = '' 

    for page in doc.get_pages(): 
     interpreter.process_page(page) 
     layout = device.get_result() 
     for lt_obj in layout: 
      if isinstance(lt_obj, LTTextBox) or isinstance(lt_obj, LTTextLine): 
       extracted_text += lt_obj.get_text() 
+0

コードとLiseの違いについての説明を追加できますか? – jhhoff02

+0

'extracted_text + = string'が ' extracted_text + = lt_obj.get_text() 'に変更されました。 – Matphy

関連する問題