Buenas,
Tengo el sgte problema:
Estoy trabajando con java sobre suse 10.1 y necesito realizar una
impresion. El codigo de la impresion funciona sin ningun problema
sobre windows pero en linux no me esta imprimiendo.
La impresora ya la probe desde el yast, le relice las pruebas q hay en
el yast y funciona correctamente,tambien funciona desde el openoffice
pero desde java nada.
La impresora es de tipo punto a punto es de marca epson y la
referencia es tm 201
Alguien me puede ayudar???..
El codigo java es el sgte:
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.print.Book;
import java.awt.print.PageFormat;
import java.awt.print.Printable;
import java.awt.print.PrinterJob;
public class JavaWorldPrintExample3 {
public static void main(String[] args) {
JavaWorldPrintExample3 example3 = new JavaWorldPrintExample3();
System.exit(0);
}
//--- Private instances declarations
private final static int POINTS_PER_INCH = 10;
public JavaWorldPrintExample3() {
//--- Create a new PrinterJob object
PrinterJob printJob = PrinterJob.getPrinterJob();
//--- Create a new book to add pages to
Book book = new Book();
//--- Add the cover page using the default page format for this print
// job
book.append(new IntroPage(250), printJob.defaultPage());
//--- Add the document page using a landscape page format
PageFormat documentPageFormat = new PageFormat();
documentPageFormat.setOrientation(PageFormat.PORTRAIT);
//--- Tell the printJob to use the book as the pageable object
//printJob.setPageable(book);
printJob.setPrintable(new IntroPage(250), documentPageFormat);
//--- Show the print dialog box. If the user click the
//--- print button we then proceed to print else we cancel
//--- the process.
//Pregunta por la impresora
// if (printJob.printDialog()) {
try {
printJob.print();
} catch (Exception PrintException) {
PrintException.printStackTrace();
}
//}
}
private class IntroPage implements Printable {
int y;
public IntroPage(int x){
y=x;
}
public int print(Graphics g, PageFormat pageFormat, int page) {
if(page == 0){
// --- Create the Graphics2D object
Graphics2D g2d = (Graphics2D) g;
//--- Translate the origin to 0,0 for the top left corner
g2d.translate(pageFormat.getImageableX(), pageFormat
.getImageableY());
//--- Set the default drawing color to black
g2d.setPaint(Color.black);
//--- Print the title
String titleText = ".....";
Font titleFont = new Font("Dialog", Font.PLAIN, 10);
g2d.setFont(titleFont);
//--- Compute the horizontal center of the page
//Imprime la primera fila
g2d.drawString("ALMACEN XXXX", 34, 10);
g2d.drawString("ANGELICA XXXXX", 37, 20);
g2d.drawString("NIT.40.440.805-6", 50, 30);
g2d.drawString("REGIMEN COMUN ACT. ECON. 2234", 13, 40);
g2d.drawString("RESOLUCION DIAN No 243534345478", 10, 50);
g2d.drawString("Fecha 2007/06/15", 50, 60);
g2d.drawString("Facturas del 00001 al 10000", 30, 70);
g2d.drawString("Cant.", 10, 100);
g2d.drawString("Vlr/Unit", 40, 100);
//Imprime la segunda fila
g2d.drawString("-------", 10, 110);
g2d.drawString("--------", 40, 110);
//Imprime la tercera fila
g2d.drawString(""+y, 10, 120);
g2d.drawString("$1'222,500.0", 40, 120);
//Imprime las demas lineas
g2d.drawString("Guarde su factura!", 45, 140);
g2d.drawString("Sin factura no se aceptan reclamos.", 10, 150);
return (PAGE_EXISTS);
}
else
return NO_SUCH_PAGE;
}
}
}