tengo el siguiente codigo q nme imprime un diseño de una etiqueta para productos con codigos de barras
Código Java:
Ver originalimport java.awt.Color;
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage;
import java.awt.print.*;
import java.util.Date;
import java.util.logging.*;
import net.sourceforge.barbecue.*;
import net.sourceforge.barbecue.output.OutputException;
public class imprimir_individual {
String item_no,ident,country_o,country_o2,qty2,cus
; recibir_serial res_ser=new recibir_serial();
item_no=item;
ident=iden;
country_o=country;
country_o2=country2;
qty2=qty;
cus=cust_num;
if(valor==1){
book.append(new IntroPage(), printJob.defaultPage());
printJob.setPageable(book);
if (printJob.printDialog()) {
try {
printJob.print();
PrintException.printStackTrace();
}
}
}
}
private class IntroPage
implements Printable {
try {
int [] diasDeMeses = new int [] {31,28,31,30,31,30,31,31,30,31,30,31,30,31};
String [] numeroDeMeses
= new String [] {"",
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12"}; int mes = fecha.getMonth();
System.
out.
println("mes: "+mes
); int dia = fecha.getDay();
int dia2=0;
int dias = -1;
for( int i = 0; i<mes; i++ ){
dia2=diasDeMeses[i];
dias =dias + dia2;
}
dias += dia;
if(dias_acum.length()==1){
dias_acum="00"+dias_acum;
}
if(dias_acum.length()==2){
dias_acum="0"+dias_acum;
}
int iNumero=fecha.getYear();
int anio = iNumero%10;
g2d2.translate(pageFormat.getImageableX(), pageFormat.getImageableY());
g2d2.
setPaint(Color.
black); g2d2.draw(rec_ind);
String julian_ind
= anio
+dias_acum
; System.
out.
println("julian: "+julian_ind
); Barcode barcode_c = BarcodeFactory.createCode39(cus, false);
barcode_c.setDrawingText(false);
barcode_c.setBarHeight(35);
barcode_c.setBarWidth(1);
g2d2.setFont(julian_iFont);
FontMetrics julian_ifontMetrics
= g2d2.
getFontMetrics(); g2d2.drawString(julian_ind, 64, 16);
g2d2.drawImage(image_c, 10, 21, null);
g2d2.setFont(customerFont);
FontMetrics customerfontMetrics
= g2d2.
getFontMetrics(); g2d2.drawString(customer, 41, 84);
////
g2d2.setFont(julian_iFont);
FontMetrics julian_i2fontMetrics
= g2d2.
getFontMetrics(); g2d2.drawString(julian_ind, 64, 200);
g2d2.drawImage(image_c, 10, 145, null);
g2d2.setFont(customerFont);
FontMetrics customer2fontMetrics
= g2d2.
getFontMetrics(); g2d2.drawString(customer, 43, 141);
} catch (OutputException ex) {
Logger.getLogger(imprimir_individual.class.getName()).log(Level.SEVERE, null, ex);
} catch (BarcodeException ex) {
Logger.getLogger(imprimir_individual.class.getName()).log(Level.SEVERE, null, ex);
} return PAGE_EXISTS;
}
}
}
el asunto es q con este codigo se me abre un cuadro de dialogo en el q escojo la impresora a la que quiero mandar a imprimir con este codigo q esta en el de arriba
PrinterJob printJob = PrinterJob.getPrinterJob();
Book book = new Book();
book.append(new IntroPage(), printJob.defaultPage());
printJob.setPageable(book);
if (printJob.printDialog()) {
try {
printJob.print();
} catch (Exception PrintException) {
PrintException.printStackTrace();
}
}
y si lo dejo asi
PrinterJob printJob = PrinterJob.getPrinterJob();
Book book = new Book();
book.append(new IntroPage(), printJob.defaultPage());
printJob.setPageable(book);
try {
printJob.print();
} catch (Exception PrintException) {
PrintException.printStackTrace();
}
me manda imprimir directamente a la impresora q tengo predeterminada en mi pc
mi pregunta es alguien sabe como puedo mandar a imprimir a una impresora x q no sea la predeterminada
quiero algo como esto no se si se pueda asi pero es un ejemplo de como quiero hacerle
PrinterJob printJob = PrinterJob.getPrinterJob();
Book book = new Book();
book.append(new IntroPage(), printJob.defaultPage());
printJob.setPageable(book);
if (printJob.printDialog()) {
try {
printJob.print("hp laserject P1002");//aqui darle el nombre de la impresora
} catch (Exception PrintException) {
PrintException.printStackTrace();
}
}
o algo q se le paresca
espero haberme explicado y puedan ayudarme gracias