Estou problemas para configurar o tamaho da página para impressão de etiquetas. Estou utilizando o seguinte código:
//Converte cm em pontos considerando 72 pontos por polegada
double fatorConverCMPt = 28.34646D;
PrinterJob job=PrinterJob.getPrinterJob();
///mostra dialogo para escolher a impressora
if(!job.printDialog()){
System.out.println("Impressão cancelada.");
return false;
}
try{
PageFormat pageFormat=job.defaultPage();
Paper paper=new Paper();
double width=10*fatorConverCMPt;
double height=5.3*fatorConverCMPt;
paper.setSize(width,height);
paper.setImageableArea(0,0,width,height);
pageFormat.setOrientation(PageFormat.PORTRAIT);
pageFormat.setPaper(paper);
job.setPrintable(new ImpEtiqueta(),pageFormat);
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
aset.add(new Copies(1));
aset.add(new JobName("EtiquetaExpedicao", null));
job.print(aset);
}
catch(PrinterException ex){
System.out.println("Erro ao imprimir.");
}
catch(Exception e){
System.out.println("Erro ao imprimir.");
}
O problema e que apesar de informar o tamanho da pagina como sendo de 10x5.3 cm sempre sai a impressão do tamanho A4. Já se informar o contrário (5.3X10) a folha é impressa corretamente com 10 cm de altura. Se mostrar o dialogo de configuracao de pagina antes de imprimir e configurar 10x5.3 (nessa tela) funciona corretamente, so que gostaria que a configuracao fosse automatica.
Alguém já passou por essa situação ?