分类:
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-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:
50010702506256
50010702506256
欢迎加群交流技术