Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/01/2010, 00:15
cricardo84
 
Fecha de Ingreso: septiembre-2009
Ubicación: Lima
Mensajes: 12
Antigüedad: 14 años, 7 meses
Puntos: 0
Imprimir en Java - Struts desde IE

Saludos, tengo el siguiente problema:ç

Desarrolle una aplicacion web con struts la cual tiene una funcionalidad de imprimir un documento usando datos de un bean, cuando lo probé en mi ordenador, es decir como localhost, no hubo problemas el documento se imprimía.

Pero al subir la aplicacion a la web la funcion de imprimir no funciona.

Aqui les adjunto el codigo de la clase que imprime el documento:

Código:
package com.megabus.print;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.print.*;
import java.text.SimpleDateFormat;
import java.util.Date;

import com.megabus.bean.Boleto;

	public class BoletoPrint implements Printable{
		
		private final static int POINTS_PER_INCH = 72;
		public Boleto bol;

		public BoletoPrint(Boleto boleto) {
			
			super();
			
			this.bol = boleto;
			
			PrinterJob printJob = PrinterJob.getPrinterJob();
			printJob.setPrintable(this);
			
				try {
					printJob.setCopies(1);
					printJob.print();					
				} catch (Exception PrinterException) {
					PrinterException.printStackTrace();
					System.out.println("PRINTER EXCEPTION...!!!");
				}
		
		} 
		
		public int print(Graphics g, PageFormat pf, int pagina){
			
			if (pagina==0) {
				
			      Graphics2D g2d = (Graphics2D) g;

			      g2d.translate(pf.getImageableX(), pf.getImageableY());

			      g2d.setPaint(Color.black);

			      Date fechaActual = new Date();
			      SimpleDateFormat formato = new SimpleDateFormat("dd-MM-yy");
			      String cadenaFecha = formato.format(fechaActual);
			      
			      String nombreApellido = bol.getApellidos()+" "+bol.getNombres();  String dni = bol.getDni();
			      String origen = bol.getOrigen(); 									String destino = bol.getDestino();
			      String horaSalida = bol.getHoraSalida(); 							String fecha = cadenaFecha;
			      String asiento = bol.getAsiento(); 								String precio = bol.getPrecio();
			      
			      Font titleFont = new Font("helvetica", Font.PLAIN, 11);
			      g2d.setFont(titleFont);
			      
			      g2d.drawString(nombreApellido, (int) 30, (int) 80); g2d.drawString(dni, (int) 250, (int) 80);
			      g2d.drawString(origen, (int) 30, (int) 110); g2d.drawString(destino, (int) 250, (int) 110);
			      g2d.drawString(horaSalida, (int) 30, (int) 140); g2d.drawString(fecha, (int) 230, (int) 140);
			      g2d.drawString(asiento, (int) 30, (int) 160); g2d.drawString(precio, (int) 250, (int) 160);
			      
			      g2d.drawString(nombreApellido, (int) 350, (int) 80);
			      g2d.drawString(origen, (int) 360, (int) 100);
			      g2d.drawString(destino, (int) 360, (int) 120);
			      g2d.drawString(fecha, (int) 380, (int) 140);
			      g2d.drawString(asiento, (int) 395, (int) 155);
			      g2d.drawString(precio, (int) 395, (int) 170);

			      return (PAGE_EXISTS);

				
			} else {
				  return (NO_SUCH_PAGE);
			}
		}

		
	}


Y bueno lo unico que hacia cuando probaba la aplicacion en mi ordenador era hacer un:

BoletoPrint b = new BoletoPrint(boleto); //Donde "boleto" es el bean con los datos a imprimir

esta linea de codigo esta ubicada en el action correspondiente y se ejecuta luego de que recibe la confirmacion de que el registro de los datos se realizo correctamente...

No se por que no imprime cuando accedo, a la aplicacion ya colgada, desde el IE.

Por favor alguien que me ayude...!!!