您的位置:首页 > 其它

通过虚拟打印机获取其他软件的数据,实现数据传输

2013-12-02 14:55 423 查看
某些软件没有提供合适的接口,无法直接获取其中的数据,但是一般都有打印功能。通过虚拟打印机可以获取其中的数据。

pdf打印机较为普遍,本文中通过将pdf转换为txt获取数据。转换利用了xpdf

def convert(fn):
    cmd=r'..\xpdfbin-win-3.03\bin32\pdftotext.exe -layout "%s.pdf" "%s.txt"' % (fn,fn)
    os.system(cmd)
def read3(ls,i):
    all=ls[i*3][:-1]+" "+ ls[i*3+1][:-1]+" "+ls[i*3+2][:-1]
    cs=all.split(" ")
    r=[]
    for  c in cs:
        if c<>"":
            r.append(c)
    return r
    #raw_input()
def findfirstline(ls):
    find=0
    for i in range(len(ls)):
        fs=ls[i].split(" ")
        for f in fs:
            if f<>"":
                if f=="No":
                    find=1
                    break
        if find:
            return i
def read(fn):
    ls=open(fn+".txt").readlines()
    #d=ls[15:]
    first=findfirstline(ls)
    d=ls[first:]
    n=len(d)
    num=n/3
    data=[]
    for i in range(num):
        data.append(read3(d,i))
    for d in data:
        print ",".join(d)
convert(fn)
read(fn)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐