【问题标题】:Printing from a batch Java job从批处理 Java 作业打印
【发布时间】:2010-07-28 19:42:44
【问题描述】:

已对该主题进行了一些研究,但没有找到相关答案。我需要的是在三种形式之一上打印多个 PDF 文件,这些文件被加载到特定打印机的不同托盘中。我需要指定要使用的打印机,它不是默认打印机。此外,我需要根据每个 PDF 文件的属性指定要使用的托盘,并且能够在运行时在它们之间切换。 Java PrintService 似乎只对本地默认打印机感兴趣。我将不胜感激有关如何完成此任务的任何建议。谢谢。

【问题讨论】:

    标签: java printing batch-file


    【解决方案1】:

    打印机 API 允许与默认打印机以外的其他打印机进行通信。话虽如此,它是有限的。我们在店里所做的是编写一个直接与 Windows 的打印队列对话的 JNI 层,我们使用它。如果您想要比 PrintService API 提供的更精细的控制,您需要编写一个 JNI 层并从 Java 访问它。

    【讨论】:

      【解决方案2】:

      您可以为操作系统中的每个托盘配置不同的打印机,然后根据文件的属性打印到该打印机。

      【讨论】:

      • @Mike GH - 你在 Windows 中工作吗?如果是这样,您可以在 Windows 中配置打印机并在那里配置托盘。对每个托盘重复。在您的代码中,根据您需要的托盘转到每台打印机。如果你在另一个操作系统上工作,同样的事情可能是可能的。
      【解决方案3】:

      感谢所有建议,但我想我现在已经解决了。我使用 LPR 进行打印,使用 org.apache.commons.net.ftp.FTPClient 进行托盘切换命令。实际的托盘命令位于文本文件中。我的测试(到目前为止)已经成功,我不必在我的工作站上安装打印机。

      【讨论】:

        最近更新 更多