关闭

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

标签: pdfpython虚拟打印机
806人阅读 评论(1) 收藏 举报
分类:

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

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)


1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:29185次
    • 积分:617
    • 等级:
    • 排名:千里之外
    • 原创:32篇
    • 转载:0篇
    • 译文:1篇
    • 评论:8条
    文章分类
    最新评论