1

我有一台收据打印机,它连接到我的通勤机上的串行 COM1。

我正在尝试从网页打印收据,当它打印时……它只是一个没有任何文字的空白。(空白收据!)。它在 IE8 上运行良好,但在 Firefox 3.6 上无法运行

我有一台 Epson TM-T88II 打印机并在 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/

4

3 回答 3

5

如果您愿意加载 java 小程序,jzebra 可以使用您描述的通用文本驱动程序直接打印到 Epsom TM 系列热敏打印机到 COM1 端口。

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

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

如果使用 Generic/Text,Epson 使用 ESC/P 编程语言。您会在 Internet 上找到许多以这种格式打印的教程,并且 jzebra 在此处提供了有关这种“RAW”打印样式的更多信息:

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

编辑:

要使其正常工作,只需将收据打印机设置为默认打印机并将其重命名为“zebra”:

在此处输入图像描述

然后直接下载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>

在此处输入图像描述

于 2013-04-19T19:45:22.660 回答
2

这是一个非常古老的问题,但仍然很难找到一个好的解决方案。我曾经使用 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 并打印您需要的任何内容。它甚至可以从命令行工作。

打印结果照片

在这里您可以获得更多信息。

于 2018-11-15T18:27:42.670 回答
0

一个解决方案:看看jQPrint

编辑:

查看执行此操作的 jQuery 或其他 javascript 插件,如果仍然受支持,请尝试 jQPrint,或者如果链接已损坏,请尝试搜索。我意识到这是一个旧答案,而且他们的答案类型不再被允许。希望这会有所帮助。

于 2011-03-08T12:41:08.407 回答