2016-05-13 71 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 

Script是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標籤字符串。我知道它很小,但似乎無法捕捉它。欣賞它。 –