分类:
linux
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
评价
排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术