python barcode_python – 使用pyBarcode将数字定位在条形码下方

我正在使用pyBarcode生成PNG,条形码下方的数字在右侧被截断.如何轻推几个像素?

barcode.writer.BaseWriter(paint_text=my_callback)

并定义一个这样的回调:

my_callback(xpos, ypos)

和:

use self.text as text

我究竟如何将所有这些应用到我的Django视图(下面)?

def barcode(request):

import barcode

from barcode.writer import ImageWriter

from cStringIO import StringIO

def mm2px(mm, dpi=300):

return (mm * dpi) / 25.4

class MyImageWriter(ImageWriter):

def calculate_size(self, modules_per_line, number_of_lines, dpi=300):

width = 2 * self.quiet_zone + modules_per_line * self.module_width

height = 1.0 + self.module_height * number_of_lines

if self.text:

height += (self.font_size + self.text_distance) / 3

return int(mm2px(width, dpi)), int(mm2px(height, dpi))

f = BarcodeForm(request.GET)

if f.is_valid():

try:

i = StringIO()

bc_factory = barcode.get_barcode_class(f.PYBARCODE_TYPE[f.cleaned_data['barcode_type']])

bc_factory.default_writer_options['quiet_zone'] = 1.0

bc_factory.default_writer_options['text_distance'] = 1.0

bc_factory.default_writer_options['module_height'] = 15.0

bc_factory.default_writer_options['module_width'] = 0.3

bc_factory.default_writer_options['font_size'] = 46

bc = bc_factory(f.cleaned_data['text'], writer=MyImageWriter())

bc.write(i)

return HttpResponse(i.getvalue(), mimetype='image/png')

except Exception, e:

return HttpResponseBadRequest(str(e))

else:

return HttpResponseBadRequest('Missing text or unsupported barcode type: %s' % f.errors)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值