2016-05-13 121 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标签字符串。我知道它很小,但似乎无法捕捉它。欣赏它。 –