作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要为我的打印例程实现一个监听器,以便从打印机获取状态。我正在使用 PrinterJob,但监听器 PrintServiceAttributeListener 对我来说还不够。我想改为为 DocPrintJob 实现监听器。如何转换为 DocPrintJob?
这是我的原始代码:
public void print(int bufWidth, int bufHeight, BufferedImage bufImage, String printerName, String doPrint)
{
try
{
image = bufImage;
if (doPrint.toUpperCase().equals("YES"))
{
PrinterJob printerJob = getPrinterJob(printerName);
PrintService printService = printerJob.getPrintService();
//printService.addPrintServiceAttributeListener(this);
//printerJob.addPrintJobListener(new PrintJobMonitor());
int width = bufImage.getWidth();
int height = bufImage.getHeight();
PageFormat pf = printerJob.defaultPage();
Paper paper = pf.getPaper();
paper.setSize(width, height);
double imageableX = fromCMToPPI(0.1);
double imageableY = fromCMToPPI(0.1);
double imageableWidth = width - fromCMToPPI(0.1);
double imageableHeight = height - fromCMToPPI(0.1);
paper.setImageableArea(imageableX, imageableY, imageableWidth, imageableHeight);
pf.setOrientation(PageFormat.LANDSCAPE);
pf.setPaper(paper);
PageFormat validatePage = printerJob.validatePage(pf);
printerJob.setPrintable(new MyPrintable(), validatePage);
printerJob.print();
}
}
catch (Exception ex)
{
}
}
最佳答案
通过在 PrinterJob 上调用 getPrintService,您可以得到一个 javax.print.PrintService,它有一个方法 addPrintServiceAttributeListener,它允许您监听 PrintServiceAttributeEvents。
关于java - PrinterJob 与 DocPrintJob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19154629/
我需要为我的打印例程实现一个监听器,以便从打印机获取状态。我正在使用 PrinterJob,但监听器 PrintServiceAttributeListener 对我来说还不够。我想改为为 DocPr
我有一个从 Printable 扩展的类,它使用标准 PrintJob 可以很好地打印,但我想移动到 DocPrintJob,这样我就可以监听打印的状态(成功打印等)。 我当前的代码如下所示,用于创建
我是一名优秀的程序员,十分优秀!