3 回答
TA贡献1735条经验 获得超5个赞
Lpinfo (CUPS) 解决方法:
using System.Diagnostics;
var startInfo = new ProcessStartInfo("lpstat", "-p")
{
RedirectStandardOutput = true,
CreateNoWindow = true
};
var process = Process.Start(startInfo);
var output = await process.StandardOutput.ReadToEndAsync();
var printerNames = output.Split("\n", StringSplitOptions.RemoveEmptyEntries)
.Select(line => line.Split(" ")[1])
.Where(name => !string.IsNullOrWhiteSpace(name))
.ToArray();
await process.WaitForExitAsync();
Console.WriteLine(string.Join("\n",printerNames));
TA贡献1783条经验 获得超4个赞
对我来说听起来像是 .NET Core 中的一个错误。
您使用什么版本的 .NET Core?
.NET Core 2.1(及更高版本)具有在 macOS/Linux 上实现查找 InstalledPrinters 的代码:https://github.com/dotnet/corefx/blob/master/src/System.Drawing.Common/src/System/Drawing /Printing/PrintingServices.Unix.cs
所以它应该可以工作(除非某个地方有错误)。
- 3 回答
- 0 关注
- 105 浏览
添加回答
举报