PosPrinter GetDefaultAsync всегда возвращает ноль
Я пытаюсь распечатать билет, используя.NET POS, но не могу получить принтер по умолчанию.
PosPrinter defaultPrinter = await PosPrinter.GetDefaultAsync();
Я также попробовал это:
string deviceSelector = PosPrinter.GetDeviceSelector();
PosPrinter printer = await PosPrinter.FromIdAsync(deviceSelector);
Мой термопринтер настроен по умолчанию.
1 ответ
Вы пробовали способ, используя PosExplorer и имя принтера? Snippet:
public PosPrinter GetPrinterByName(System.Windows.Forms.Form mainForm, string printerName)
{
PosPrinter printer = null;
PosExplorer explorer = new PosExplorer(mainForm);
DeviveCollection printers = explorer.GetDevices(DeviceType.PosPrinter);
if (printers != null && printers.Count > 0)
{
for (int i = 0; i < printers.Count; i++)
{
if(0 == string.Compare(printerName, printers[i].ServiceObjectName))
{
printer = printers[i];
break;
}
}
}
return printer;
}