Hallo,
ich hab gerade ein Problem an der Backe das ich nicht gelöst bekomme. Simples Programm kleine Seriennummer aufkleber werden gedruckt. Funktioniert auch wunderbar auf allen druckern dieser Welt inc. des Labeldruckers. Solange ich nicht das Format der Ettiketten einstelle.
Mache ich das bekomme ich eine PrinterException mit dem Inhalt: "Paper's imageable width is too small"
Wie gesagt stelle ich auf dem Drucker ein größeres Ettikett ein kann ich Drucken, nur mit der größe der Seriennummer Aufkleber klappt es nicht.
Ein altes c++ Programm was ich geschrieben habe welches die selbe Funktion erfüllt kann problemlos auf dem Drucker drucken. Es ist also eindeutig ein Problem was auf Java begrenzt ist. btw. Format ist 38*11mm und der Drucker arbeitet miti 203dpi
Kennt jemand das Problem und hat evtl. eine Lösung dafür?
Falls der Code jemandem weiter hilft:
ich hab gerade ein Problem an der Backe das ich nicht gelöst bekomme. Simples Programm kleine Seriennummer aufkleber werden gedruckt. Funktioniert auch wunderbar auf allen druckern dieser Welt inc. des Labeldruckers. Solange ich nicht das Format der Ettiketten einstelle.
Mache ich das bekomme ich eine PrinterException mit dem Inhalt: "Paper's imageable width is too small"
Wie gesagt stelle ich auf dem Drucker ein größeres Ettikett ein kann ich Drucken, nur mit der größe der Seriennummer Aufkleber klappt es nicht.
Ein altes c++ Programm was ich geschrieben habe welches die selbe Funktion erfüllt kann problemlos auf dem Drucker drucken. Es ist also eindeutig ein Problem was auf Java begrenzt ist. btw. Format ist 38*11mm und der Drucker arbeitet miti 203dpi
Kennt jemand das Problem und hat evtl. eine Lösung dafür?
Falls der Code jemandem weiter hilft:
Java:
import java.awt.*;
import java.awt.print.*;
public class LabelDruck {
public LabelDruck(int anzahl){
PrinterJob pj =PrinterJob.getPrinterJob();
if ( pj != null )
{
try {
for (int i=0; i<anzahl;i++){
pj.printDialog();
pj.setPrintable(new Drucker());
pj.print();
}
} catch (PrinterException e) {
e.printStackTrace();
}
}
}
public class Drucker implements Printable {
public int print(Graphics g, PageFormat pf, int page) throws
PrinterException {
if (page > 0) {
return NO_SUCH_PAGE;
}
Graphics2D g2d = (Graphics2D)g;
g2d.translate(pf.getImageableX(), pf.getImageableY());
Font f = new Font("Arial",Font.PLAIN,8);
g2d.setFont(f);
g2d.drawString( "Garantiesiegel! Nicht Entfernen!" , 0, 12 );
return PAGE_EXISTS;
}
}
}
Zuletzt bearbeitet: