2016-06-23 4 views
0

Я извлекаю текст из многих PDF-файлов, используя pdfminer. В текстовом файле для некоторых файлов PDF странно, где каждая строка состоит только из одного символа. Не все файлы PDF, но некоторые из них, и я до сих пор не могу понять, почему и какие файлы PDF вызовут эту проблему.PDF to TEXT преобразован неправильно

Вот мой код:

def convert_pdf_to_txt(path): 
    rsrcmgr = PDFResourceManager() 
    retstr = StringIO() 
    codec = 'utf-8' 
    laparams = LAParams() 

    device = TextConverter(rsrcmgr, retstr, codec=codec, laparams=laparams) 
    fp = file(path, 'rb') 
    interpreter = PDFPageInterpreter(rsrcmgr, device) 
    password = "" 
    maxpages = 0 
    caching = True 
    pagenos = set() 

    for page in PDFPage.get_pages(fp, pagenos, maxpages=maxpages, password=password, caching=caching, 
            check_extractable=True): 
     interpreter.process_page(page) 

    text = retstr.getvalue() 

    fp.close() 
    device.close() 
    retstr.close() 
    return text 

И this на из PDF-файлов, которые дали эту проблему.

Редактировать

Я попытался TIKA, но это дало проблему в связи, потому что я использую Django.

The error I am getting

Большое спасибо

ответ

0

Использование tika это дает лучший результат для меня.

from tika import parser 
def pdf_parser_tika(file_pointer): 
     parsed = parser.from_file(file_pointer) 
     return parsed["content"] 
+0

Да я попробую спасибо^_^ –

+0

Я дал задачу, потому что я использую его в веб-сайт написан с Django. –

+0

В какой строке вы получили ошибку? –