【问题标题】:Printing to Dot Matrix printers from Web Apps从 Web 应用程序打印到点阵打印机
【发布时间】:2010-07-29 10:47:11
【问题描述】:

我不熟悉点阵打印机,但我有一个客户使用 WebApp 生成发票、打印支票等。目前他们直接从服务器打印,这意味着打印机必须连接到服务器或服务器需要一种连接远程打印机的方法。可以想象,这会产生很多问题。

我的第一反应是,生成一个 pdf 文档。在服务器上并将其发送到客户端,以便他们可以在他们有权访问的任何打印机上打印它。但事实证明,他的许多客户使用不支持打印 PDF 的点阵打印机。

我的问题,是否有所有点阵打印机都可以读取的文件格式? HTML、ASCII 等... 我的客户坚持认为唯一的办法是让服务器直接从 php 打印,这对我来说似乎非常奇怪。

提前谢谢你!

【问题讨论】:

  • 很多点阵打印机只支持ASCII

标签: php printing-web-page


【解决方案1】:

我看到虽然这个问题已经发布了很多,并且已经选择了解决方案,但是我觉得这个问题是非常真实的,随着越来越多的网络应用程序的出现,仍然有很多人可能想要一个解决方案,所以希望有些人会发现这个解决方案是有益的。

与打印纯 ascii 文本相比,在 Dotmatrix 打印机上打印图形非常慢。

可以在不到一分钟的时间内在点阵打印机上打印的发票在图形模式下可能需要长达 8 到 10 分钟才能打印出来,因此在点阵打印机上打印图形也是一个问题,除了时间之外,这意味着更多的磨损和打印头和色带的撕裂,因为现在通常点阵打印机主要用于商业应用,重点不是打印质量,而是要打印在纸上的数据。

解决方案

您可以构建一个可执行文件或一个在内存中运行的进程,该进程监视一个文件夹,该文件夹可以充当一个投递箱。 (只要此文件夹中存在文件,此可执行文件就会将此文件发送到打印机。)

例如,如果放置文件夹路径是 c:\printoutput

其中一个文件作为 invoice.txt 放置在其中,可执行文件/打印过程所要做的就是发送一个 dos/shell 命令作为

c:\type c:\printoutput\invoice.txt > lpt1 (您可以将 lpt1 替换为 prn 或任何连接打印机的本地端口)

Web 应用程序可以简单地将文本文件保存到文件夹 c:\printoutput

可执行文件可能会持续监控/在特定时间跨度后运行/热键在用户知道他已将某些文件放入要打印的打印文件夹中时立即调用打印。

您还可以通过将 Epson ESC 代码嵌入到文本文件中来使用 dotmatrix 内部字体选择或格式化等。

因此,您的打印格式可能与连接在服务器本地端口上的打印机完全相同。

【讨论】:

    【解决方案2】:

    他的许多客户使用不支持打印 PDF 的点阵打印机

    废话-与打印机无关-是打印机驱动程序决定了它是否有能力。我使用的大多数打印机都不会使用 PDF(或 postscript、MSWord 或 OpenOffice .....),但我仍然可以在它们上打印文档。 25 年前,我可以在 7 针 Paper Tigers 上打印图形(尽管我承认我今天很难找到打印机驱动程序)。看看ghostscript。过去 10 年中构建的大多数 DMP 都支持 Epson ESC/P2 仿真。

    或者,您可以使用文本浏览器从您的 html(例如 lynx)创建 ascii。

    似乎几乎不值得将文本转换为 PDF,然后在打印前再转换回来 - 但可以将 ghostscript 配置为使用 ascii 输出设备。因此,您甚至可以在菊轮打印机上打印 PDF!

    C.

    【讨论】:

      【解决方案3】:

      每台打印机都应该能够打印纯 ASCII 文件。

      【讨论】:

      • 感谢您的回复。我们能否有一个适用于所有打印机的通用 ASCII 文件,或者该文件必须是特定于打印机的(ASCII 代码等)?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-17
      • 1970-01-01
      • 2023-03-17
      • 2015-09-14
      • 2012-12-10
      相关资源
      最近更新 更多