如何使用 java 代码添加可用的网络打印机?

How to add an available network printer using java code?

我想获取可用网络打印机的列表,并允许用户使用 JButton 在他们的电脑上安装(添加)选定的打印机。

我在网上搜索了一下,确实找到了一台名为 java 打印机 api 的 java api,但这对我没有帮助。

有什么建议吗?

您可能已经意识到,标准 Java Print service API 用于从 Java 应用程序打印文档。它通过与主机系统提供的现有打印机或打印服务交互来工作。它没有解决设置或配置打印机或打印服务的问题。

I would like to get the list of available network printers, and allow users to install (add) a selected printer on their PC using a JButton.

Java 打印 API 不提供该功能。

So there is no way to automate the install process? Execute a batch script maybe?

如果可以使用 shell 脚本或非特权用户可以 运行 的批处理文件来自动安装打印机、发现、配置(或您有什么),那么它就是可能(实际上很简单)得到 Java 到 运行 脚本。

编写该脚本可能是困难的部分,它不是 Java 编程问题。如果您不能编写/找到脚本来执行此操作,那么从 Java 程序进行打印机设置的机会几乎为零。虽然在 Java 中完成任务在技术上是可行的,但 (IMO) 不值得为此付出开发努力。