code128A code128B 这两个可以打印,但是显示的宽度太宽了,code128 auto显示的宽度就正好,但是不知道delphi里面如何实现,请各位知道的帮帮,谢谢

解决方案 »

  1.   

    code128 auto是什么?
    一般条码格式都是定义好的,如code39,code93,code128,格式可参考相关国标,格式是固定的
    打出的条码宽度取决于1、画出的条码的线的宽度 2、你的字符串的多少
    如果觉得太长可将线宽设置细点,一般code128不算太宽,相同线宽情况下比code93宽点,和code39差不多
    具体如何画,参考国标规则自己canvas画
      

  2.   

    你如果要自己写代码,来实现CODE 128码的打印, 直接参考FR 源代码里,关于条码的部分..如果你只是因为标签纸太窄,或是打印区域太小.容纳不下. 有两个方法解决.1. 调整打印的"缩放系数", 会使打印出来的条码,占更小的空间, 但是,如果太细小, 有可能扫描设备不能正确识别..2. 选择合适的码制,整体说来: 39码使用最多,但占有空间最大, 128码,占的空间比较小, 如果你打印的内容,纯数字, 并且,是双数位, 那么建议你使用 code128 C 码, 占用的空间只有 128A, 128B 码的一半大小..
      

  3.   

    和楼主遇到同样的问题.
    一定要用CODE128 AUTO才可以.
    CODE128C 无法满足要求, 因有字母.
    知道的高手们快出来解答一下吧.
    FASTREPORT里面没有CODE128 AUTO选项.
    ZPL语言里面的命令也没找到那一项是设置的.
      

  4.   

    同问,CODE128 AUTO确实能减少宽度,一直想知道是怎样实现,查了很多资料都无法解决