Estoy creando una aplicación la cual manda imprimir objetos Graphics
a una impresora determinada, lo que necesito es poder cambiar la configuración del tamaño de papel mediante código en java.
Este es mi código con el cual imprimo y pongo atributos de impresión, como por ejemplo el numero de copias, el color del papel, orientación, etc, eso si lo hace correctamente.
PrinterJob job = PrinterJob.getPrinterJob();
PageFormat pf = new PageFormat();
int numero = Integer.parseInt(SNumero.getValue().toString());
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
aset.add(new Copies(numero));
aset.add(new MediaPrintableArea(0, 0, 62, 29, MediaPrintableArea.MM));
aset.add(Chromaticity.COLOR);
aset.add(OrientationRequested.PORTRAIT);
Paper paper = new Paper();
paper.setSize(175.748031496, 82.204724409);
double margin = 8.503937008;
paper.setImageableArea(0, 0, 175.748031496, 82.204724409);
pf.setPaper(paper);
job.setPrintable(new ObjetoDeImpresion(),pf);
job.setJobName("nombre_de_impresion");
try {
job.print(aset);
} catch (PrinterException ex) {
System.out.println(ex);
}
}
He intentado agregar algo como esto para decirle a la impresora que imprima un tamaño de papel que yo quiera, pero no da resultado:
aset.add(new MediaSize(62, 29, MediaSize.MM));
Mi tamaño de papel es de 62mm de ancho y de largo el papel es continuo, osea que debería poder definirse un tamaño de largo.
¿Alguien tiene idea de como hacerlo?