java - 如何在不显示 printdialog 的情况下在 java 中打印

标签 java printing

我正在创建一个 Java 应用程序,应用程序将在其中打印图片和旁边的一些文本。我在打印时有两台打印机,我会相应地选择。我不会显示打印对话框供用户选择打印机和其他东西。我的代码如下

PrinterJob job = PrinterJob.getPrinterJob();
boolean ok = job.printDialog();

如果我不跳过 boolean ok = job.printDialog(); 行,文本将打印在我的案例 (20,20) 中提到的位置,但如果我跳过该行我的打印是在距离打印机更远的地方完成的,可能是 (120, 120) 这意味着我需要一个边距设置。并给我一个设置打印机的代码。

最佳答案

您可以使用 job.print() 而不是 job.printDialog() 来隐藏打印对话框。但是,如果您希望能够更改边距和其他所有内容,那么您需要使用 PaperPageFormat 类,它们可以在 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/

相关文章:

java - java.lang.Object getTimeout() 的返回类型与 org.gradle.api.internal.AbstractTask 中的 org.gradle.api.provider.Property 不兼容

java - java中通过println打印字符序列时出错

printing - 在事务 NACE 中,如果我知道 Smartform 的名称,是否可以找到打印程序和表单例程?

java - 如何使用软断言来避免测试运行执行失败

java.lang.SecurityException : invalid package name: com. 谷歌.android.gms

java - 使用 apache poi api 创建 Word 文档时,如何添加 X of Y 格式的页码?

java - 有没有一种令人满意的方法在 Java 中打印复杂的 PDF 文件

java - 打印完成时收到通知

rust - 调试打印结构时 Rust 中的 dead_code 警告

java - 将类型转换添加到同一类型