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

Imprimir documento,URGENTE!!!!

Estas en el tema de Imprimir documento,URGENTE!!!! en el foro de Java en Foros del Web. Hola me gustaría saber qué orden tengo que poner para imprimir un documento directamente sin que se abra la ventana de diálogo pidiendo elegir contraseña ...
  #1 (permalink)  
Antiguo 06/09/2007, 03:56
 
Fecha de Ingreso: septiembre-2007
Mensajes: 106
Antigüedad: 16 años, 8 meses
Puntos: 1
Exclamación Imprimir documento,URGENTE!!!!

Hola me gustaría saber qué orden tengo que poner para imprimir un documento directamente sin que se abra la ventana de diálogo pidiendo elegir contraseña y número de copias.
El documento lo creo a partir de un formulario con la clase Graphics e imprimo con la clase PrintJob.
Espero que me puedan ayudar,muchas gracias!!!
  #2 (permalink)  
Antiguo 07/09/2007, 02:34
Avatar de elAntonie  
Fecha de Ingreso: febrero-2007
Mensajes: 894
Antigüedad: 17 años, 3 meses
Puntos: 10
Re: Imprimir documento,URGENTE!!!!

Wenas.

Ese mensaje es del SO y java no se lo puede saltar a la torera.

Estaria bueno que pudiese.

Es el usuario quien decide que quiere imprimir y como (cuantas copias, en apaisado, ...) por motivos de seguridad.

Saludos.
  #3 (permalink)  
Antiguo 07/09/2007, 03:38
 
Fecha de Ingreso: septiembre-2007
Mensajes: 106
Antigüedad: 16 años, 8 meses
Puntos: 1
Re: Imprimir documento,URGENTE!!!!

Estás seguro de ello?es que me parece un poco raro y coñazo para un tpv que cada vez que quiera imprimir un ticket t salte la ventana esa.Como nunca lo he visto asi en ningún bar...ni tienda...
Si por casualidad alguien sabe alguna manera o si estás completamente seguro de ello...pues acepto lo que sea.
Muchas gracias
  #4 (permalink)  
Antiguo 07/09/2007, 03:48
 
Fecha de Ingreso: agosto-2007
Mensajes: 49
Antigüedad: 16 años, 8 meses
Puntos: 1
Re: Imprimir documento,URGENTE!!!!

Hola, a mi me pasa lo mismo que a ti, toy haciendo una aplicación de un tpv de un bar y queria imprimir los tickets y no se como saltarme ese dialogo, de hecho ya toy teniendo problemas xa imprimir, me podrias guiar un poquillo?
Muchas gracias
  #5 (permalink)  
Antiguo 07/09/2007, 04:45
Avatar de elAntonie  
Fecha de Ingreso: febrero-2007
Mensajes: 894
Antigüedad: 17 años, 3 meses
Puntos: 10
Re: Imprimir documento,URGENTE!!!!

Cita:
Iniciado por lamale85 Ver Mensaje
Estás seguro de ello?es que me parece un poco raro y coñazo para un tpv que cada vez que quiera imprimir un ticket t salte la ventana esa.Como nunca lo he visto asi en ningún bar...ni tienda...
Si por casualidad alguien sabe alguna manera o si estás completamente seguro de ello...pues acepto lo que sea.
Muchas gracias
Un tpv?? hombre eso no lo habias dicho.

Ni idea, neng.
  #6 (permalink)  
Antiguo 13/09/2007, 03:17
 
Fecha de Ingreso: septiembre-2007
Mensajes: 106
Antigüedad: 16 años, 8 meses
Puntos: 1
Re: Imprimir documento,URGENTE!!!!

Hola, dentro de la clase sobre la que trabajes te creas la siguiente clase
public class Impresora
{
//Atributos
Font fuente = new Font("Dialog", Font.PLAIN, 10);
PrintJob pj;
Graphics pagina;
//Constructor
Impresora()
{
pj = Toolkit.getDefaultToolkit().getPrintJob(new Frame(), "SCAT", null);
}
/**
*Método que imprime el control de la sesión
*/
public void imprimir(String cad,String cad2(todas las líneas que quieras ponerle al ticket))
{
Connection conn=null;
//LO COLOCO EN UN try/catch PORQUE PUEDEN CANCELAR LA IMPRESION
try
{
int margenIzqdo = 60; // Posición X de cada línea
int margenSup = 60; // Posición Y de la primera línea
int pasoLinea = 20; // Incremento o salto entre líneas
pagina = pj.getGraphics();
pagina.setFont(fuente);
pagina.setColor(Color.black);
pagina.drawString(cad,120,margenSup += pasoLinea);//primera línea del ticket
pagina.drawString(cad2,60,margenSup += pasoLinea);//segunda línea del ticket
//aqui puedes poner tantas líneas como quieras

pagina.dispose();
pj.end();
}catch(Exception e)
{
System.out.println("LA IMPRESION HA SIDO CANCELADA...");
}
}
}

Esa es la clase interna que debes crear, y ya sólo tienes que llamar al método imprimir de esta clase desde donde quieras, pasándole cada línea del ticket en una cadena.
Así es como yo lo he conseguido, espero que te sirva aunque sigo sin conseguir que se salte el diálogo.
_Hasta otra
  #7 (permalink)  
Antiguo 16/09/2007, 23:46
 
Fecha de Ingreso: noviembre-2002
Ubicación: DF
Mensajes: 1.056
Antigüedad: 21 años, 5 meses
Puntos: 37
Re: Imprimir documento,URGENTE!!!!

yo lo hago con Flash, ya que el control de impresion de flash si se brinca el control de impresion del navegador (aunq no recuerdo si el de windows tambien), de hecho FLASH MX tiene una clase print job como la q comentas. El codigo a continuacion es codigo actionscript dentro del flash:
Cita:
movieImpresion = "mcImpresion6P"
//printAsBitmap(movieImpresion,"bframe")
//getURL("javascript:alert('Se imprimira:"+movieImpresion+" con frames="+framesAImprimir +"')")
// Pruebas de nuevo trabajo conPRINTJOB
var printJob:PrintJob = new PrintJob();
if (printJob.start()) {
var numPages:Number = 0;
var nPageWidth:Number = printJob.pageWidth;
var nPageHeight:Number = printJob.pageHeight;

// Starting 50 pixels to the right of 0,0 and 70 pixels down,
// print an area 500 pixels wide and 600 pixels high
// of frame 4 of level 5 in vector format


//612 by 792
var w:Number = _root[movieImpresion]._width;
var h:Number = _root[movieImpresion]._height;
if (w > h){
//use width to determine scale factor
var scaleFactor = nPageWidth/w;
} else {
var scaleFactor = nPageHeight/h;
}
//' altoimpresora100% =
// Guarda valores originales

var x:Number = _root[movieImpresion]._xscale;
var y:Number = _root[movieImpresion]._yscale;

_root[movieImpresion]._xscale = scaleFactor*100;
_root[movieImpresion]._yscale = scaleFactor*100;

// if (printJob.addPage(movieImpresion, {xMin:50,xMax:550,yMin:70,yMax:670},{printAsBitmap :true}, 1 )) {
if (printJob.addPage(movieImpresion, null,{printAsBitmap:true}, 1 )) {
numPages++;
}
// Imprime tantos como carreras haya
for (indImpr=0;indImpr<framesAImprimir;indImpr++){
if (printJob.addPage(movieImpresion, null,{printAsBitmap:true}, indImpr+2 )) { // perfiles 1er carrera
numPages++;
}
}

if (printJob.addPage(movieImpresion, null,{printAsBitmap:true}, 8 )) { // Guia analitica
numPages++;
}
// Si hay porblemas, se imprime el ultimo frame
if (txtProblemas!="" && txtProblemas!=undefined) {

if (printJob.addPage(movieImpresion, null,{printAsBitmap:true},9 )) {
numPages++;
}
}
if (numPages>0) {
printJob.send();
}
_root[movieImpresion]._xscale = x;
_root[movieImpresion]._yscale = y;
}
delete printJob;
  #8 (permalink)  
Antiguo 17/09/2007, 17:47
 
Fecha de Ingreso: agosto-2007
Mensajes: 49
Antigüedad: 16 años, 8 meses
Puntos: 1
Re: Imprimir documento,URGENTE!!!!

Hola, a mi no me sale el cuadro de dialogo pero es porque uso la clase printerJob en lugar d printjob e implemento el metodo de la interfaz Printable, voy escribiendo linea a linea, el ticket que quiero con drawString().
El método que hace que llames al cuadro de dialogo, es printDialog(), no se porque a ti te sale sino lo invocas en ningun momento pero hay muchos métodos que implicitamente lo llaman.

Saludos!
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 18:59.