我编写了一个java应用程序,它运行得很好,但是,它需要安装打印机驱动程序。从技术方面来看,它将任务直接发送到打印机(例如在慢速电脑上)的速度会快多少,速度是否有显着差异或可能有其他一些缺点?在这里,我试图了解是否值得在这项任务上投入时间或将策略保留在驱动程序中。我想这将消除 Windows 10 上的某些打印机没有可用驱动程序的情况(仅在理论上),不是吗?
最佳答案
您打算如何“将任务直接发送到打印机”?打印机驱动程序的全部要点在于,它从操作系统 API 获取绘图操作,并将其转换为打印机可以理解的“其他内容”。
一般来说大约有6种可能性:
- PCL - 一种 HP 页面描述语言,但许多打印机可以在 native 处理它。
- PostScript - 一种 Adobe 页面描述语言,支持它的打印机较少,但仍然很常见
- PDF - 另一种不同的 Adobe PageDescription 语言,与 PostScript 有一些相似之处,但由于其资源要求,支持它的打印机较少。
- XPS - 一种 Microsoft 页面描述语言,由于多种原因未得到广泛采用。
- 基本位图 - 主机操作系统以设备分辨率呈现位图并将其发送。由于实现成本低廉,过去在低端打印机上相对常见
- 还有别的事。一些制造商(例如爱普生)有自己的语言。
在 Mac 上,PDF 是 native 格式,在 Windows 8 或更高版本的 PC 上,XPS 是 native 格式。如果您的打印机支持这些,那么您可以直接向其发送“任务”。如果您的 java 应用程序没有创建需要打印的内容,而只是一个打印服务器或处理器,那么您可以将数据直接发送到打印机,因为您将在打印机 native 格式(例如 PostScript)。
但一般来说,您需要将“任务”转换为打印机可以理解的其他页面描述语言,并将其发送到打印机。
因此,如果您没有打印机驱动程序,通常无法打印到打印机,因为您的操作系统不知道如何创建打印机可以理解的内容。
关于java - 直接向打印机发送打印任务的优点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48744753/