#!/usr/bin/python # # requires zint binary from zint package # from subprocess import Popen, PIPE import sys svghead = """ """ svgfoot = """ """ cntx = 5 cnty = 10 scalex = 1.2 scaley = 1.2 f = open('people.txt','r') items = f.readlines() f.close() items = map(lambda x: x.strip(), items) items += ['cred50','cred100','cred200','cred500','cred1000','RESET'] f = open('barcodes.svg','w') f.write(svghead) i = 0 j = 0 for item in items: elem = Popen(('zint','--directsvg','-d', item), stdout = PIPE).communicate()[0].split('\n') elem = elem[8:-2] elem[0] = elem[0].replace('id="barcode"', 'transform="matrix(%f,0,0,%f,%f,%f)"' % (scalex, scaley, 42+i*200 , 14+j*90) ) elem[23] = item f.write('\n'.join(elem)) i += 1 if i >= cntx: i = 0 j += 1 f.write(svgfoot) f.close()