用Java打印+打印到热敏标签+纸张的可成像宽度太小

时间:2017-01-25 21:22:49

标签: java printing jpanel dymo

所以我一直收到这个错误:

错误:java.awt.print.PrinterException:Paper的可成像宽度太小。

我能够根据s.o上的很多问题拼凑一个印刷类。它工作正常。直到它没有。我在休息之前恢复了我的代码,但它仍然不起作用。我已经尝试了很多关于堆栈溢出的答案,纸张的可成像宽度太小。到目前为止一切都没有。

我试图将它发送到什么打印机或什么尺寸的纸张无关紧要。我可以将它打印成PDF,然后打印出我想要的内容。画像1.125“w x 3.5”h。

public void printComponenet(){

PrinterJob pj = PrinterJob.getPrinterJob();
pj.setJobName(" Print Component ");

pj.setPrintable (new Printable() {    
public int print(Graphics pg, PageFormat pf, int pageNum){
  if (pageNum > 0){
  return Printable.NO_SUCH_PAGE;
  }

  Graphics2D g2 = (Graphics2D) pg;
  g2.rotate(Math.toRadians(90));
  g2.translate(0,-81);
  g2.translate((int)pf.getImageableX(), (int)pf.getImageableY());
  jPanelPrintLabel.paint(g2);
  return Printable.PAGE_EXISTS;


  }
  });
  if (pj.printDialog() == false)
  return;

  try {
        pj.print();
  } catch (PrinterException ex) {
      System.out.print(ex);
        // handle exception
  }
}

0 个答案:

没有答案