[nao resolvido] configurar pagina de impressao

galera toh com problemas na hora de configurar a pagina de impressao

preciso que a impressao seja efetuada em determinada parte da folha

tenho a classe

public class PrintUtilities implements Printable {

    private Component componentToBePrinted;

    public static void printComponent(Component c) {
        new PrintUtilities(c).print();
    }

    public PrintUtilities(Component componentToBePrinted) {
        this.componentToBePrinted = componentToBePrinted;
    }

    public void print() {
        PrinterJob printJob = PrinterJob.getPrinterJob();
       
        if (printJob.printDialog()) {
            try {
             PageFormat pagina = new PageFormat(); 
             Paper papel = new Paper(); 
             papel.setImageableArea(20,20,pagina.getWidth() - 70,pagina.getHeight());
             pagina.setPaper(papel); 
              printJob.setPrintable(this);
                printJob.print();
            } catch (PrinterException pe) {
                System.out.println("Error printing: " + pe);
            }
        }
    }

    public int print(Graphics g, PageFormat pageFormat, int pageIndex) {
        if (pageIndex > 0) {
            return (NO_SUCH_PAGE);
        } else {
            Graphics2D g2d = (Graphics2D) g;
        //    Paper papel = new Paper(); 
      //      PageFormat pagina = new PageFormat(); 
           g2d.translate(pageFormat.getImageableX(), pageFormat.getImageableY());
         //   papel.setImageableArea(20,20,pagina.getWidth() - 70,pagina.getHeight());
            disableDoubleBuffering(componentToBePrinted);
            componentToBePrinted.paint(g2d);
            enableDoubleBuffering(componentToBePrinted);
            return (PAGE_EXISTS);
        }
    }

    public static void disableDoubleBuffering(Component c) {
        RepaintManager currentManager = RepaintManager.currentManager(c);
        currentManager.setDoubleBufferingEnabled(false);
    }

    public static void enableDoubleBuffering(Component c) {
        RepaintManager currentManager = RepaintManager.currentManager(c);
        currentManager.setDoubleBufferingEnabled(true);
    }
}

nao entendo nda de impressao em java, fiquei feliz quando imprimiu soh que agora tem q configurar

alguem poderia me da uma dica, me mostrar onde estou errado

vlws

ninguem???

galera com esse metodo consiguo imprimir, soh que não consiguo configurar a impressao… se souberem de algum material sobre impressao, ou algo que ajudasse

vlws

???

ninguem nunk passou por isso???