微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Java中强制目标打印机

有没有办法强制目标打印机在 java中,使用HashPrintRequestAttributeSet?

我不希望用户能够更改printdialog中的打印机

谢谢

解决方法

不得不认真思考这个问题,但对于后代来说,这里有一些
码:
PrintService[] printServices;
PrintService printService;
PageFormat pageFormat;

String printerName = "Your printer name in Devices and Printers";

PrintServiceAttributeSet printServiceAttributeSet = new HashPrintServiceAttributeSet();
printServiceAttributeSet.add(new PrinterName(printerName,null));
printServices = PrintServiceLookup.lookupprintServices(null,printServiceAttributeSet);

pageFormat = new PageFormat(); // If you want to adjust heigh and width etc. of your paper.
pageFormat = printerjob.defaultPage();

PrinterJob printerjob = PrinterJob.getPrinterJob();

printerjob.setPrintable(new Server(),pageFormat); // Server was my class's name,you use yours.

try {
    printService = printServices[0];
    printerjob.setPrintService(printService); // Try setting the printer you want
} catch (Arrayindexoutofboundsexception e) {
    System.err.println("Error: No printer named '" + printerName + "',using default printer.");
    pageFormat = printerjob.defaultPage(); // Set the default printer instead.
} catch (PrinterException exception) {
    System.err.println("Printing error: " + exception);
}

try {
    printerjob.print(); // Actual print command
} catch (PrinterException exception) {
    System.err.println("Printing error: " + exception);
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐