Чековый принтер - печать с веб-страницы - PullRequest
1 голос
/ 08 марта 2011

У меня есть чековый принтер, и он подключен к последовательному порту COM1 на моем компьютере.

Я пытаюсь распечатать квитанцию ​​с веб-страницы, и когда она распечатывается ... она просто пустая, без текста. (Пустая квитанция!). Он отлично работает на IE8, но не работает на Firefox 3.6

У меня есть принтер Epson TM-T88II и я использую драйвер «Generic / Text» в Windows 7.

Какое решение для этого?

HTML код получения:

<html>
<head>
    <title></title>
</head>
<body>
    <div>
        <div>Company Name</div>
        <div>Customer Name</div>
        <div>Order No</div>
        <div>1 x Item</div>
        <div>1 x Item</div>
        <div>1 x Item</div>
        <div>12.00</div>
    </div>
</body>
</html>

http://jsfiddle.net/bu49K/

Ответы [ 3 ]

5 голосов
/ 19 апреля 2013

Если вы хотите загрузить Java-апплет, jzebra может печатать напрямую на термопринтеры серии Epsom TM через порт COM1, используя драйвер общего текста, как вы описали.

https://github.com/qzind/qz-print

Проблема, с которой вы сталкиваетесь, не редкость.Generic / Text обходит возможности PostScript (2D) драйвера печати Epson.

При использовании Generic / Text Epson использует язык программирования ESC / P.В Интернете вы найдете множество учебных пособий для печати в этом формате, и у jzebra есть больше информации об этом стиле печати «RAW» здесь:

https://github.com/qzind/qz-print/wiki/Raw-Printing

Редактировать:

Чтобы это работало, просто установите принтер чеков в качестве принтера по умолчанию и переименуйте его в «зебра»:

enter image description here

Затем просто загрузите qz-print библиотека, поместите файл jar в директорию проекта и привет:

<input type=button onClick="print()" value="Print">
<applet id="qz" code="qz.PrintApplet.class" archive="./qz-print.jar" width="100" height="100">
      <param name="printer" value="zebra">
</applet>

<script>
      function print() {
       qz.append("PRINTED USING JZEBRA\n");
       qz.print();
      }
</script>

enter image description here

1 голос
/ 15 ноября 2018

Это очень старый вопрос, но все еще сложно найти хорошее решение. Раньше я использовал решение QZ Tray (как описал Tres Finocchiaro), но теперь я думаю, что нашел лучшее, которое обеспечивает полный контроль над процессом:

  1. Зарегистрируйте пользовательский протокол (например, «https», «http», «mailto») с именем, например, «print». Это делается с помощью редактора реестра в Windows.
  2. Напишите специальное приложение для обработки протоколов, которое будет автоматически выполняться Windows, когда кто-то собирается открыть ссылку типа «print: // any / parameters / go / here».
  3. Реализация печати в вашем приложении. Я использую C # и встроенный класс PrintDocument, так что это очень просто.

Теперь я могу просто создать ссылку с помощью href наподобие «print: // invoice / 1234», а затем проанализировать этот URI в вашем приложении и распечатать все, что вам нужно. Работает даже из командной строки.

The printing result photo

Здесь Вы можете получить больше информации.

0 голосов
/ 08 марта 2011

решение: посмотрите jQPrint

РЕДАКТИРОВАТЬ:

Посмотрите на jQuery или другие плагины javascript, которые делают это, попробуйте jQPrint, если он все еще поддерживаетсяили попробуйте поискать, если ссылка не работает.Я понимаю, что это старый ответ, и они больше не разрешены.Надеюсь, это поможет.

...