4

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

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

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

先感谢您!

4

3 回答 3

4

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

与打印纯 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 内部字体选择或格式化等。

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

于 2011-12-09T19:36:18.540 回答
2

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

于 2010-07-29T10:50:02.220 回答
2

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

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

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

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

C。

于 2010-07-29T15:02:18.130 回答