3 回答

TA貢獻(xiàn)1963條經(jīng)驗(yàn) 獲得超6個(gè)贊
是的,我也有同樣的問(wèn)題。添加System.Drawing.Common
命名空間就可以了。然后就可以解析命名空間了。我的列表中充滿(mǎn)了可用的打印機(jī)。

TA貢獻(xiàn)1735條經(jīng)驗(yàn) 獲得超5個(gè)贊
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貢獻(xiàn)1783條經(jīng)驗(yàn) 獲得超4個(gè)贊
對(duì)我來(lái)說(shuō)聽(tīng)起來(lái)像是 .NET Core 中的一個(gè)錯(cuò)誤。
您使用什么版本的 .NET Core?
.NET Core 2.1(及更高版本)具有在 macOS/Linux 上實(shí)現(xiàn)查找 InstalledPrinters 的代碼:https://github.com/dotnet/corefx/blob/master/src/System.Drawing.Common/src/System/Drawing /Printing/PrintingServices.Unix.cs
所以它應(yīng)該可以工作(除非某個(gè)地方有錯(cuò)誤)。
- 3 回答
- 0 關(guān)注
- 183 瀏覽
添加回答
舉報(bào)