收据打印机 - 从网页打印

时间:2011-03-08 12:36:11

标签: html firefox printing network-printers

我有一张收据打印机,它连接到串口COM1到我的电脑。

我正在尝试从网页上打印收据,当它打印时......它只是一个没有任何文字的空白。 (空白收据!)。它在IE8上工作正常,但不适用于Firefox 3.6

我有一台Epson TM-T88II打印机并在Windows 7上使用“Generic / Text”驱动程序。

这是什么解决方案?

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 个答案:

答案 0 :(得分:5)

如果您愿意加载Java小程序,jzebra可以使用Generic Text驱动程序直接打印到Epsom TM系列热敏打印机到COM1端口。

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

您遇到的问题并不少见。 Generic / Text绕过Epson打印驱动程序的PostScript(2D)功能。

如果使用Generic / Text,Epson使用ESC / P编程语言。您将在互联网上找到许多以这种格式打印的教程,jzebra在这里提供了有关这种“RAW”打印方式的更多信息:

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

修改

要实现此功能,只需将收据打印机设置为默认打印机,并将其重命名为“zebra”:

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 :(得分:0)

解决方案:查看jQPrint

编辑:

看看这样做的jQuery或其他javascript插件,如果仍然支持,请尝试jQPrint,或尝试搜索链接是否损坏。我意识到这是一个古老的答案,他们的答案类型已不再允许。希望这会有所帮助。

答案 2 :(得分:0)

这是一个非常老的问题,但是仍然很难找到一个好的解决方案。我曾经使用QZ Tray解决方案(如Tres Finocchiaro所述),但现在我想我发现了一个更好的解决方案,可以对过程进行完全控制:

  1. 注册名为例如“ print”的自定义协议(例如“ https”,“ http”,“ mailto”)。这是使用Windows中的注册表编辑器完成的。
  2. 编写一个自定义协议处理应用程序,当有人打开“ print:// any / parameters / go / here”之类的链接时,Windows将自动执行该应用程序。
  3. 在您的应用程序中实施打印。我正在使用C#和内置的PrintDocument类,因此非常简单。

现在,我可以创建带有href的链接,例如“ print:// invoice / 1234”,然后在您的应用程序中解析此URI并打印所需的内容。它甚至可以从命令行运行。

The printing result photo

Here,您可以获得更多信息。