2016-05-13 4 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) 

これは私のbashです。

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をどのように押したのですか。htmlの文字列を取得するので、私は 'str'を保持しました。関数を印刷しても、必要なhtmlタグの文字列は表示されません。私はそれが小さいことを知っていますが、それをキャッチするように見えることはできません。感謝します。 –

関連する問題