Drucker auf Papier abfragen

hbrauchl

Mitglied
Hallo!

Ist es möglich eine Statusmeldung/Fehlermeldung vom Drucker in Java direkt
abzufragen?
Ich würde dies brauchen um festzustellen, ob dem Drucker das Papier
ausgegangen ist?

Mein Drucker ist ein OKI B4100 Mono Drucker (Laser).

Hat jemand vielleicht hierzu eine Lösung?


Danke im voraus.


LG,
Hans
 
Hallo,

wenn du deinem XYZPrintJob einen entsprechenden PrintJobListener mitgibst, so kannst du über die Methode printJobRequiresAttention auf kleinere Probleme mit dem Drucker (Kein Papier mehr, keine Farbe mehr, etc.) aufmerksam gemacht werden.

schau mal hier:
Java:
package de.tutorials;

import javax.print.DocPrintJob;
import javax.print.event.PrintJobAdapter;
import javax.print.event.PrintJobEvent;

/**
 * <p>
 * TODO Description of the type
 * </p>
 * @author Thomas.Darimont
 */
public class PrinterRanOutOfPaperNotificationExample {

  /**
   * <p>
   * TODO Description of method
   * </p>
   * @param args
   */
  public static void main(String[] args) {
    DocPrintJob printJob = createPrintJobFor(...);
    printJob.addPrintJobListener(new PrintJobAdapter() {
      @Override
      /**
       * The print service indicates that a - possibly transient - problem may require external
       * intervention before the print service can continue. One example of an event that can
       * generate this message is when the printer runs out of paper.
       */
      public void printJobRequiresAttention(PrintJobEvent pje) {
        // ...
        super.printJobRequiresAttention(pje);
      }
    });
  }
  
  ...

}

Gruß Tom
 
Hi!

Danke für die Antwort.

Mein Problem ist, dass immer nur die Methoden printDataTransferCompleted() und the printJobNoMoreEvents() in PrintJobAdapter (http://java.sun.com/j2se/1.5.0/docs/api/javax/print/event/PrintJobAdapter.html) aufgerufen werden.
Auch dann wenn kein Papier im Drucker vorhanden ist. Ich habe es mit meinem Drucker ( TALLY T9200 ) lokal als auch im Netzwerk probiert.

Weiß jemand warum printJobRequiresAttention() nicht aufgerufen wird?
Wovon hängt das ab?

Nochmals danke im voraus.


LG,
Hans
 
Zurück