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

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

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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值