代码之家  ›  专栏  ›  技术社区  ›  santiagoIT

从Web应用程序打印到点阵打印机

  •  2
  • santiagoIT  · 技术社区  · 16 年前

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

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

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

    提前谢谢!

    3 回复  |  直到 10 年前
        1
  •  1
  •   symcbean    16 年前

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

    胡说-这与打印机无关-是打印机驱动程序决定它是否有能力。我使用的大多数打印机都不会说PDF(或PostScript、MSWord或OpenOffice…)但我仍然可以在上面打印文档。25年前,我可以在7针纸老虎机上打印图形(尽管我承认我今天很难找到一个打印机驱动程序)。一定要看看 ghostscript . 过去10年中构建的大多数DMP都支持EPSON ESC/P2仿真。

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

    在打印之前,将文本转换为PDF格式,然后再转换回原样似乎不值得,但Ghostscript可以配置为使用ASCII输出设备。所以你甚至可以在雏菊形打印机上打印PDF!

    C.

        2
  •  2
  •   Brad Larson    14 年前

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

    与纯ASCII文本相比,在Dotmatrix打印机上打印图形的速度非常慢。

    在dotmatrix打印机上以不到一分钟的时间打印的发票,在图形模式下打印可能需要8-10分钟,因此在dotmatrix上打印图形的时间是一个问题,除了时间之外,它还意味着打印头和打印带的磨损更大,因为通常dotmatrix打印机现在主要用于商业用途。ESS应用程序强调的不是打印质量,而是打印在纸上的数据。

    解决方案

    您可以构建一个可执行文件或一个在内存中运行的进程,监视一个可以充当下拉框的文件夹。(一旦此文件夹中存在文件,此可执行文件就会将此文件发送到打印机。)

    例如,如果放置文件夹路径是C:\printOutput

    一个文件作为invoice.txt放在这个文件中,所有可执行的文件/打印过程都需要发送一个DOS/shell命令作为

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

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

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

    此外,通过将epson esc代码嵌入到文本文件中,您仍然可以使用dotmatrix内部字体选择或格式设置等。

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

        3
  •  1
  •   Mchl    16 年前

    每台打印机都应该能够打印一个普通的ASCII文件。

    推荐文章