2016-05-13 2 views
0

Недавно я нашел эту очень удобную библиотеку для преобразования PDF. Я пытаюсь преобразовать pdf в строковые значения. Для анализа данных и преобразования в файл csv. Я хочу автоматизировать это для будущего, поэтому я не могу использовать Tabula.Путь не печатает строковые значения

Я вызываю некоторые модули, чтобы преобразовать PDF в строку. Часть для преобразования строк не работает. (pdf2string.py) Вот часть преобразования pdf в строку.

У меня нет ошибки. Успех. Но выхода нет.

from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter 
from pdfminer.converter import HTMLConverter 
from pdfminer.converter import TextConverter 
from pdfminer.layout import LAParams 
from pdfminer.pdfpage import PDFPage 
from cStringIO import StringIO 
import re 
import csv 
import sys 

def convert_pdf_to_html(path): 
    rsrcmgr = PDFResourceManager() 
    retstr = StringIO() 
    codec = 'utf-8' 
    laparams = LAParams() 
    device = HTMLConverter(rsrcmgr, retstr, codec=codec, laparams=laparams) 
    fp = file(path, 'rb') 
    interpreter = PDFPageInterpreter(rsrcmgr, device) 
    password = "" 
    maxpages = 0 #is for all 
    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) 
    fp.close() 
    device.close() 
    str = retstr.getvalue() 
    retstr.close() 
    return str 

    print str 

if __name__ == '__main__': 
    if len(sys.argv) == 2: 
     path = sys.argv[1] 
     convert_pdf_to_html(path) 

Это мой бах.

python pdf2string.py example.pdf 

Сценарий pdf2string.py и путь example.pdf.

Я также новичок в высокоуровневой логике в python.

+0

Объясните больше, что не работает. Есть ли ошибка? Некоторые результаты, которые не выглядят так, как вы ожидаете? –

+0

Модули преобразуют PDF-файл в значения строки html. Это говорит мне, в каком формате следует разбирать файл. Предположим, я дам html-тег. Я не ошибаюсь. Я действительно получаю успешное завершение с выходом. Мне нужен выход 'str'. Я думаю, что мой путь настроен неправильно. Я не могу найти ничего плохого в функции. –

ответ

2

Редактировать: вы возвращаетесь перед печатью - удалите return str или удалите print str и воспользуйтесь приведенным ниже советом.

Вы не печатаете вывод convert_pdf_to_html() или сохраняете его где-то.

print convert_pdf_to_html(path) 
+0

Да, я исправил это. Некоторые, как я нажал кнопку управления CMD Z. Я сохранил 'str', потому что он получает строку для html. печать функции по-прежнему не дает html-строку тега, в которой я нуждаюсь. Я знаю, что это что-то маленькое, но, похоже, не может его поймать. Ценить это. –

Смежные вопросы