
usb 指令打印 使用 kernel32.dll 进行输入打印的时候 会发现 在Windows上支持很好 但是linux 就会有有各种问题
所以 在 linux上 不推荐 使用 一些 Windows api 打包 成 so文件 也感觉有不对劲的地方
插入打印机 ubuntu会识别出来usb打印机
在/dev/usb/ 路径下 会有 lp开头的文件 把需要打印的 字节数据 写入 对应的 lp文件 即可打印出数据
假设我 插入的u口 是 lp0 我需要直接在 ubuntu 终端输出打印
- echo "printstr" >/dev/usb/lp0
使用.Net Core 程序 进行打印 获取 dev/usb 下所有lp 开头的 文件 做一个 下拉选择框
- List<string> list = new List<string>();
- string path = "/dev/usb";
- DirectoryInfo di = new DirectoryInfo(path);
- //找到该目录下的文件
- FileInfo[] fis = di.GetFiles();
- foreach (FileInfo fi in fis)
- {
- if (fi.Name.Contains("lp"))
- list.Add(fi.Name);
- }
- return list;
打印:将准备好的byte[] 写入 /dev/usb/lp? 就可以完成打印
- public static bool WriteFileNew(byte[] lpBuffer)
- {
- string path = "/dev/usb/lp0";
- IocManager._log.LoggerView("path:" + path);
- using (FileStream fileStream = new FileStream(path, FileMode.Open))
- {
- fileStream.Write(lpBuffer, 0, lpBuffer.Length);
- }
-
-
- return true;
- }
注:/dev/usb 文件 只有 root 才能进行访问写入 dotnet run 的时候 需要 su root
评价
排名
32
文章
20
粉丝
4
评论
15
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:
50010702506256


欢迎加群交流技术
尘叶心繁