Foros del Web » Programación para mayores de 30 ;) » Java »

printerjob listener

Estas en el tema de printerjob listener en el foro de Java en Foros del Web. Hola como estan? tengo este codigo Código: private void Imprimir() { PrintService[] services = PrintServiceLookup.lookupPrintServices(null, null); String printName = "Brother QL-570 LE"; //String printName="PDFCreator"; if ...
  #1 (permalink)  
Antiguo 24/04/2014, 08:51
 
Fecha de Ingreso: enero-2007
Mensajes: 285
Antigüedad: 17 años, 3 meses
Puntos: 21
printerjob listener

Hola como estan?

tengo este codigo

Código:
private void Imprimir() {

        PrintService[] services = PrintServiceLookup.lookupPrintServices(null, null);
        String printName = "Brother QL-570 LE";
        //String printName="PDFCreator";

        if (services.length > 0) {
            try {
                PrintService myService = null;
                int hayImpresora = 0;
                for (PrintService service : services) {
                    //System.out.println(service.getName());
                    if (service.getName().equals(printName)) {

                        myService = service;
                        hayImpresora = 1;
                        break;
                    }
                }

                if (hayImpresora == 0) {
                    JOptionPane.showMessageDialog(null, "No se Encontro la Impresora: " + printName);
                    //System.exit(0);
                }
                // myService.addPrintServiceAttributeListener(new MyPrintServiceAttributeListener());

                PrinterJob job = PrinterJob.getPrinterJob();

                job.getPrintService().addPrintServiceAttributeListener(null);
                PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
                aset.add(OrientationRequested.LANDSCAPE);
                aset.add(new MediaPrintableArea(2, 2, 29, 90, MediaPrintableArea.MM));

                job.setPrintService(myService);
                job.setPrintable(this);
                job.print(aset);

            } catch (PrinterException ex) {
                Logger.getLogger(dialogImprmirEtiqueta.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }
que me imprimi un jpanel.. por medio de printerjob... lo que me gustaria hacer es ... podes obtener un listener de eventos.. es decir.. que me diga.. cuando se esta enviando un trabajo, cuando se esta imprimiendo, cuando termino, si hay atascos y ademas si la impresora esta activa... todo esto lo logre por medio de printJob.. pero.. no pude imprimir el jpanel con ese metodo..

lo que necesitaria.. seria sacar los eventos.. del printerjob o bien imprimir el panel con printJob..

desde ya muchas gracias
  #2 (permalink)  
Antiguo 28/04/2014, 01:54
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: printerjob listener

Con eso que pones es dificil saber qué clases usas realmente y de qué opciones dispones (podrias haber puesto tb los imports del codigo)

De todos modos hay documentación al respecto sobre los eventos en apis de impresión, tendrías que ir viendo las clases y hacer probaturas para sacar lo que necesites.

http://docs.oracle.com/javase/8/docs...nting.fm5.html
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #3 (permalink)  
Antiguo 29/04/2014, 06:30
 
Fecha de Ingreso: enero-2007
Mensajes: 285
Antigüedad: 17 años, 3 meses
Puntos: 21
Respuesta: printerjob listener

gracias fuzzylog por tu respuesta...

te pego los imports y los metodos que tienen que ver con la impresion..

y respecto a lo que me pasaste... es sobre printjob... y segun vi para imprimir el jpanel por medio de graphics2d es necesario usar PRINTERJOB.. y ahi es donde no encuentro... los listeners..

de todas formas.. estaria dispuesto a cambiarlo.. por printjob para manejar los eventos.. pero.. necesitaria data para lograr imprimir el graphics2d

Código:
import Clases.Util;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.print.PageFormat;
import java.awt.print.Printable;
import static java.awt.print.Printable.NO_SUCH_PAGE;
import static java.awt.print.Printable.PAGE_EXISTS;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.print.PrintService;
import javax.print.PrintServiceLookup;
import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.print.attribute.PrintRequestAttributeSet;
import javax.print.attribute.standard.MediaPrintableArea;
import javax.print.attribute.standard.OrientationRequested;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.text.DefaultStyledDocument;
import net.sourceforge.barbecue.Barcode;
import net.sourceforge.barbecue.BarcodeException;
import net.sourceforge.barbecue.BarcodeFactory;


public class dialogImprmirEtiqueta extends javax.swing.JDialog implements Printable {

@Override
    public int print(Graphics graphics, PageFormat pageFormat, int pageIndex) {
        if (pageIndex > 0) { /* We have only one page, and 'page' is zero-based */
            return NO_SUCH_PAGE;
        }

        Graphics2D g2d = (Graphics2D) graphics;
        g2d.translate(0, 0);

        panelImprimir.printAll(graphics);

        return PAGE_EXISTS;
    }

private void Imprimir() {

        PrintService[] services = PrintServiceLookup.lookupPrintServices(null, null);
        String printName = getImpresora();
        //String printName="PDFCreator";

        if (services.length > 0) {
            try {
                PrintService myService = null;
                int hayImpresora = 0;
                for (PrintService service : services) {
                    //System.out.println(service.getName());
                    if (service.getName().equals(printName)) {

                        myService = service;
                        hayImpresora = 1;
                        break;
                    }
                }

                if (hayImpresora == 0) {
                    JOptionPane.showMessageDialog(null, "No se Encontro la Impresora: " + printName);
                    //System.exit(0);
                }
                // myService.addPrintServiceAttributeListener(new MyPrintServiceAttributeListener());

                PrinterJob job = PrinterJob.getPrinterJob();

                job.getPrintService().addPrintServiceAttributeListener(null);
                PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
                aset.add(OrientationRequested.LANDSCAPE);
                aset.add(new MediaPrintableArea(2, 2, 29, 90, MediaPrintableArea.MM));

                job.setPrintService(myService);
                job.setJobName("Imprimir Etiqueta "+getEmpresaEmpresa());
                job.setPrintable(this);
                job.print(aset);

            } catch (PrinterException ex) {
                Logger.getLogger(dialogImprmirEtiqueta.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }


}

Etiquetas: listener, metodo, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:55.