请问在c#.net中怎么调用zebra条形码打印机打印

ji_vicky 2006-10-18 10:55:44
如题,程序如何编写,如何实现与zebra打印机的联结和对话,那位高手有代码,帖过来,让小弟看看。
...全文
1337 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
abc*123457 2010-05-30
  • 打赏
  • 举报
回复
mark
angleoldhen 2007-02-24
  • 打赏
  • 举报
回复
mark
gzxiaowj 2007-01-11
  • 打赏
  • 举报
回复
几好,收藏.
Nlf 2006-10-18
  • 打赏
  • 举报
回复
这个不应该是你来做的事情
ji_vicky 2006-10-18
  • 打赏
  • 举报
回复
比如我需要打印
^XA
^LH30,30
^FO20,60^B3,,60,,^FD123456789^FS;
^XZ;
我需要定义 坐标:x,y,定义codehight, codedata ,codetype等变量,这段程序如何写?
你msn好像没在线
Nlf 2006-10-18
  • 打赏
  • 举报
回复
呵呵
当然要写 不过要用专门的斑马机编程语言ZPL来写,这个你可以询问你们的斑马机的技术工程师要
你把你要的格式给他们,他们会给你相应的zpl文件
你把这个文件中内容作为一个string变量,但是要更改其中一些作为你循环用的变量
我的msn
sczl@msn.com
ji_vicky 2006-10-18
  • 打赏
  • 举报
回复
在project中调用这个类,而在project中,就不用写什么zebra有关编码的程序了吗?
分一定都给你加上,我就是想和你探讨这个问题,我一窍不通啊。呵呵。
msn:ji_8007@hotmail.com 加我好么
Nlf 2006-10-18
  • 打赏
  • 举报
回复
就是这个类,你在工程里面add一个cs文件让后把这个贴进去
需要使用的时候调用就好了
绝对可以使用

------------------------------------
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;

namespace Barcode_Print
{
class LPTControl
{
[StructLayout(LayoutKind.Sequential)]
private struct OVERLAPPED
{
int Internal;
int InternalHigh;
int Offset;
int OffSetHigh;
int hEvent;
}

[DllImport("kernel32.dll")]
private static extern int CreateFile(
string lpFileName,
uint dwDesiredAccess,
int dwShareMode,
int lpSecurityAttributes,
int dwCreationDisposition,
int dwFlagsAndAttributes,
int hTemplateFile
);


[DllImport("kernel32.dll")]
private static extern bool WriteFile(
int hFile,
byte[] lpBuffer,
int nNumberOfBytesToWrite,
out int lpNumberOfBytesWritten,
out OVERLAPPED lpOverlapped
);


[DllImport("kernel32.dll")]
private static extern bool CloseHandle(
int hObject
);



private int iHandle;
public bool Open()
{
iHandle = CreateFile("lpt1", 0x40000000, 0, 0, 3, 0, 0);
if (iHandle != -1)
{
return true;
}
else
{
return false;
}

}


public bool Write(String Mystring)
{


if (iHandle != -1)
{
int i;
OVERLAPPED x;
byte[] mybyte = System.Text.Encoding.Default.GetBytes(Mystring);
return WriteFile(iHandle, mybyte, mybyte.Length, out i, out x);
}
else
{
throw new Exception("端口未打开!");
}
}


public bool Close()
{
return CloseHandle(iHandle);
}

}


记得给我加分哦:)
ji_vicky 2006-10-18
  • 打赏
  • 举报
回复
我的是105sl
由于我是新手,对编程都存在一定困难,不知道哥哥有没有代码等东西,可以给我参考?
关于类啊,函数啊,都是刚刚学习,不太清楚如何调用
Nlf 2006-10-18
  • 打赏
  • 举报
回复
我正好也在从事这个工作,你的打印机是什么型号的?
我用的是110Xiii,600点的机器,应该算是比较好的了,3w多买来做打印主barcode的
你需要通过lpt1口跟打印机通讯

其实很简单,给你一个类就好了,你需要答应的时候调用其中的open()方法
Nlf 2006-10-18
  • 打赏
  • 举报
回复
如果真的需要你自己写的话大约你还是请教一下zebra的工程师并阅读一下他们的说明书和zpl文档好了,这个好像在他们的官方网站上有下载
Nlf 2006-10-18
  • 打赏
  • 举报
回复
当然除非你们老板指定你要学这个,你就是在zebra公司

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧