我正在创建一个 Java 应用程序,应用程序将在其中打印图片和旁边的一些文本。我在打印时有两台打印机,我会相应地选择。我不会显示打印对话框供用户选择打印机和其他东西。我的代码如下
PrinterJob job = PrinterJob.getPrinterJob();
boolean ok = job.printDialog();
如果我不跳过 boolean ok = job.printDialog();
行,文本将打印在我的案例 (20,20) 中提到的位置,但如果我跳过该行我的打印是在距离打印机更远的地方完成的,可能是 (120, 120) 这意味着我需要一个边距设置。并给我一个设置打印机的代码。
最佳答案
您可以使用 job.print()
而不是 job.printDialog()
来隐藏打印对话框。但是,如果您希望能够更改边距和其他所有内容,那么您需要使用 Paper
和 PageFormat
类,它们可以在 java.awt.print 下找到.Paper 和 java.awt.print.PageFormat。 Paper 将允许您设置纸张大小并在 PageFormat
中使用它。然后,您可以使用 PrinterJob 类的 setPrintable()
方法,将类型为 Printable
的对象和 PrintFormat
作为参数。但最重要的是,如果您担心的话,Paper
类将允许您设置边距。
关于java - 如何在不显示 printdialog 的情况下在 java 中打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11801159/