[Resolvido]Imprimir em bematech mp20 ci

Pessoal, to com um problema aqui,

eu tenho que imprimir em uma impressora não fiscal modelo bematech MP20 CI, porém não consegui encontrar nenhuma API para fazer isto, a API fornecida pela propria bematech não funciona pois é para outros modelos, entao estou imprimindo por PrinterJob, assim implemento a interface Printable, segue o codigo da minha classe abaixo

public class Bematech2 implements Printable {

    String texto = null;

    public Bematech2(String texto) {
        this.texto = texto;
        PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
        aset.add(OrientationRequested.PORTRAIT);
        aset.add(new Copies(1));
        aset.add(new JobName("Relatório", null));

        PrinterJob pj = PrinterJob.getPrinterJob();
        pj.setPrintable(this);

        PrintService[] services = PrinterJob.lookupPrintServices();

        if (services.length > 0) {
            System.out.println("Impressora seleionada" + services[0].getName());
            try {
                pj.setPrintService(services[0]);
                pj.pageDialog(aset);
                if (pj.printDialog(aset)) {
                    pj.print(aset);
                }
            } catch (PrinterException pe) {
                System.err.println(pe);
            }
        }
    }

    public int print(Graphics g, PageFormat pf, int pageIndex) {


        if (pageIndex == 0) {
            Graphics2D g2d = (Graphics2D) g;
            g2d.translate(pf.getImageableX(), pf.getImageableY());
            g2d.setColor(Color.black);

            g2d.drawString(this.texto, 10, 5);

            return Printable.PAGE_EXISTS;
        } else {
            return Printable.NO_SUCH_PAGE;
        }
    }

    public static void main(String[] args) {
        Bematech2 b = new Bematech2("texto para impressao");
    }
}

Então vem um pequeno grande problema, ela imprime o texto certinho, porém depois de terminar a impressão, a impressora ainda continua liberando papel, ou seja, imprimi o texto libera uns 20cm de papel da bobina a mais.
Alguem tem alguma ideia de como implementar as funções desta impressora, algum tutorial, ou exemplo, ao alguma classe, alguma API, alguma DLL que seja possivel utilizar, enfim qualquer coisa para me auxiliar

Eu estava com o mesmo problema resolvi dessa forma:

 FileOutputStream outputFile = new FileOutputStream("LPT1:");
 PrintWriter out = new PrintWriter(outputFile);
 out.print(lines);
 out.flush();
 outputFile.close();
 out.close();

onde lines é um StringBuilder.

Caro antoniosales,

Muito obrigado, ainda tá com um bug mas vou trabalhar para resolver, caro espero que tu consigo resolver o teu problema com RMI, qualquer coisa posta lá que tento ajudar.