如题,网上看到好象有人利用PICTUREBOX打印,但是我不清楚,请问能指教一下吗,或者是其他方法,谢谢

解决方案 »

  1.   

    别处看到的:
    利用画图方式输出到普通打印机  条形码的编码规则不外乎是通过线条和线条间间隙的宽窄不同来表示二进制的1和0,只要我们了解了条形码的编码规则,完全可以用画图的方式在普通打印机上得到可以接受的效果。下面我们就使用最普遍的CODE39码进行讨论。   CODE39码的编码规则是:1、 每五条线表示一个字符; 2、 粗线表示1,细线表示0; 3、 线条间的间隙宽的表示1,窄的表示0;4、 五条线加上它们之间的四条间隙就是九位二进制编码,而且这九位中必定有三位是1,所以称为39码; 5、 条形码的首尾各一个*标识开始和结束   在我们的程序中,给常用的字符都进行编码,解读时先取线条粗细,再取间隙宽窄,如:  上图中的字符*就可以解读为 001101000,字符3解读为 110000100   下面就是我们给出的子过程: 注释: 将字符串 strBarCode 对应的条形码输出到缺省打印机 Private Sub PrintBarCode( _   ByVal strBarCode As String, _   Optional ByVal intXPos As Integer = 0, _   Optional ByVal intYPos As Integer = 0, _   Optional ByVal intPrintHeight As Integer = 10, _   Optional ByVal bolPrintText As Boolean = True _ ) 注释: 参数说明: 注释: strBarCode    - 要打印的条形码字符串 注释: intXPos, intYPos - 打印条形码的左上角坐标(缺省为(0,0),坐标刻度为:毫米)注释: intHeight     - 打印高度(缺省为一厘米,坐标刻度为:毫米) 注释: bolPrintText   - 是否打印人工识别字符(缺省为true) 注释: "0"-"9","A-Z","-","%","$"和"*" 的条码编码格式,总共 40 个字符 Static strBarTable(39) As String 注释: 初始化条码编码格式表  strBarTable(0) = "001100100"   注释: 0   strBarTable(1) = "100010100"   注释: 1   strBarTable(2) = "010010100"   注释:‘ 移动画笔的位置 Private Declare Function MoveToEx Lib "gdi32" (ByVal hdc As Long, ByVal x As 
    Long, ByVal y As Long, lpPoint As POINTAPI) As Long ‘ 从画笔的当前位置到(x,y)画一条线 Private Declare Function LineTo Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, 
    ByVal y As Long) As Long ‘ 在(x,y)处输出一个字符串 Private Declare Function TextOut Lib "gdi32" Alias "TextOutA" (ByVal hdc As 
    Long, ByVal x As Long, ByVal y As Long, ByVal lpString As String, ByVal nCount 
    As Long) As Long ‘ MoveToEx() 函数需要的参数 Private Type POINTAPI   xp As Long   yp As Long End Type Dim papi As POINTAPI 画线操作为(原来的Printer.Line函数): MoveToEx PrintDC, x + k, y, papi LineTo PrintDC, x + k, y + intHeight + 1 打印字符为(原来的Printer.Print函数): TextOut PrintDC, x, y + intHeight, Mid(strBC, i + 1, 1), 1
      

  2.   

    这资料我有,但是我现在是用OFFICE里面的控件Msbcode9.ocx
      

  3.   

    把Msbcode9.ocx畫到form上用form1.printform
      

  4.   

    把Msbcode9.ocx畫到form上用form1.printform
    怎样可以打印多个条形码在同一张纸上啊
      

  5.   

    那你畫多個Msbcode9.ocx到form上不就行了嗎
      

  6.   

    最好倒出图片后 调用Word之类的软件让用户自己添加排版,用Htm 即便是用户设置的打印的效果也不理想预揽的和输出的效果不同。
      

  7.   

    让窗体大小与控件大小一样,然后Form.printform,打印窗体.
      

  8.   

    可以用ActiveReport去打印.这个就随便些了.
    上边画线的代码我试过了.我用手持扫描跟本扫不到码.
      

  9.   

    可以用ActiveReport去打印.这个就随便些了.它支持条码打印的.
      

  10.   

    我刚做完,用的是抓屏,把图片画在图片上,再把图片保存到picbox上。呵呵,我用Jan13编码。