Fire Fox II
13-12-2012, 11:16
Salve raga
sto cercando di ottimizzare la stampa su a4 di alcuni jPanel (diverso formato) di un piccolo software...
Il problema principale č che le stampe sono sempre fuori formato, o pių larghe, o pių lunghe, e mai centrate...
Io dovrei adattare il jPanel al formato a4 e centrarlo nel foglio
Tramite ricerche su google, ho creato una classe con il seguente metodo print, ma sembra manchi qualcosa per risolvere il mio caso...
public void print() {
PrinterJob printJob = PrinterJob.getPrinterJob();
PageFormat pf = printJob.defaultPage();
Paper paper = new Paper();
paper.setSize(594.936, 841.536);
double margin = 0;
paper.setImageableArea(0, 0, paper.getWidth(), paper.getHeight() );
pf.setPaper(paper);
pf.setOrientation(PageFormat.PORTRAIT);
PrintRequestAttributeSet attr_set = new HashPrintRequestAttributeSet();
attr_set.add(MediaSizeName.ISO_A4);
printJob.setPrintable(this,pf);
if (printJob.printDialog())
try {
printJob.print(attr_set);
} catch(PrinterException pe) {
System.out.println("Error printing: " + pe);
}
}
Quakche suggerimento?
Thanks
sto cercando di ottimizzare la stampa su a4 di alcuni jPanel (diverso formato) di un piccolo software...
Il problema principale č che le stampe sono sempre fuori formato, o pių larghe, o pių lunghe, e mai centrate...
Io dovrei adattare il jPanel al formato a4 e centrarlo nel foglio
Tramite ricerche su google, ho creato una classe con il seguente metodo print, ma sembra manchi qualcosa per risolvere il mio caso...
public void print() {
PrinterJob printJob = PrinterJob.getPrinterJob();
PageFormat pf = printJob.defaultPage();
Paper paper = new Paper();
paper.setSize(594.936, 841.536);
double margin = 0;
paper.setImageableArea(0, 0, paper.getWidth(), paper.getHeight() );
pf.setPaper(paper);
pf.setOrientation(PageFormat.PORTRAIT);
PrintRequestAttributeSet attr_set = new HashPrintRequestAttributeSet();
attr_set.add(MediaSizeName.ISO_A4);
printJob.setPrintable(this,pf);
if (printJob.printDialog())
try {
printJob.print(attr_set);
} catch(PrinterException pe) {
System.out.println("Error printing: " + pe);
}
}
Quakche suggerimento?
Thanks