Подключитесь к USB-чековому принтеру из WPF / C # - PullRequest
0 голосов
/ 05 февраля 2019

Я застрял в задаче, которую я получил, я пытаюсь подключиться и распечатать на USB-чековый принтер, но пока не увенчался успехом.Компания купила подставку для киосков, в основном компьютер на базе Windows с сенсорным экраном и принтером, из Китая.Я создаю приложение WPF (C #) для этого киоск-стенда, которое должно быть в состоянии печатать квитанции.

В киоск-киоске поставлен инструмент для проверки принтера enter image description here, которыйработает нормально на самом стенде киоска, но когда я подключаю принтер к своему персональному компьютеру, он не будет работать.

Принтер отображается в разделе «Устройства и принтеры» как «Не указано» на обоих киосках.подставка и мой персональный компьютер с именем «JRSVC Printer» enter image description here

И на стойке киоска, и на моем компьютере принтер использует драйвер «usbprint.sys»enter image description here

Я пытался подключиться к принтеру из C #: enter image description here Но я могу только найти принтеры, которые не "не указаны".

Так что я довольно увлечен тем, как я могу подключиться и печатать с этим USB-принтером.«Print Test Tool» может легко печатать с самого киоска (но не с моего собственного ПК?), Поэтому он работает, даже если он находится в разделе «Unspecified» на киоске.

Физический принтер выглядит следующим образом: enter image description here

А вот ссылка на программное обеспечение, поставляемое с подставкой для киосков: http://www.filedropper.com/chinaprintersoftware

Если кто-то может указать мне правильное направление,Как я могу подключиться и распечатать из приложения WPF (C #), я буду очень признателен за это!

1 Ответ

0 голосов
/ 05 февраля 2019

Насколько я понимаю, usbprint не является "обычным" драйвером принтера в том смысле, с которым знакомо большинство людей, это низкоуровневый драйвер, используемый для непосредственного взаимодействия с оборудованием.Это означает, что вы не можете печатать обычным способом через интерфейс GDI, вы не получаете большинство преимуществ печати Windows и не можете печатать из обычного приложения Windows.

Первое, что нужно сделатьПосмотрите документацию USBPRINT , а именно части , как печатать .Если бы я делал это сам, я бы запустил быстрое приложение C ++ просто для того, чтобы принтер работал, а затем либо обернул его в управляемую библиотеку C ++, которую может использовать мое приложение WPF, либо, предпочтительно, напрямую через интерфейс DLLImport.

Что касается данных для отправки, это зависит от принтера.Существует множество стандартов, поэтому вам придется либо получить документацию для этого, либо посмотреть, что отправляют демонстрационные приложения.Учитывая, сколько лет эта штука, по-видимому, может поддерживать обычные текстовые и экранирующие последовательности LPT1.

Если это вообще возможно, вы должны попытаться найти документацию для нее в любом случае, если нет другой причины, кроме как выяснить, имеет ли оналюбые параметры конфигурации.Я потратил много лет на разработку программного обеспечения для киосков WPF для различных секторов, и большинство принтеров, которые я видел, поддерживают, по крайней мере, какую-то возможность последовательной эмуляции.На самом деле, прежде чем делать что-то еще, вы, вероятно, должны проверить свой диспетчер устройств, в частности, раздел «Порты (COM и LPT)».Если он появляется там, то ваша работа стала намного проще.

ОБНОВЛЕНИЕ: на самом деле я только что пошел и посмотрел документацию, вы уверены, что эта вещь не отображается как последовательный порт в киоскесам?Потому что из документов это выглядит так, как будто это поддерживается:

enter image description here

...