Печать в java с помощью javax.print

У меня мало опыта работы с принтером Java Api. Сейчас я работаю над приложением Java Entrprise, которое размещено на сервере Linux, и это приложение печатает некоторые документы, на самом деле я использую

javax.print

пакет для управления этой ситуацией. Это код, который я использую для печати:

FileInputStream in = new FileInputStream(fileToPrint);
DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
PrintRequestAttributeSet  pras = new HashPrintRequestAttributeSet();
pras.add(new Copies(1));
Doc doc = new SimpleDoc(in, flavor, null);
DocPrintJob job = myService.getPrintService().createPrintJob();
PrintJobWatcher pjw = new PrintJobWatcher(job,daProcessare);
job.print(doc, pras);
pjw.waitForDone();
in.close();


public PrintJobWatcher(DocPrintJob job,FatturaCodaInvio fileToProcess) {

    job.addPrintJobListener(new PrintJobAdapter() {

        public void printJobCanceled(PrintJobEvent pje) {
            System.out.println("Print Canceled");
            allDone(false,"Print Canceled");
        }
        public void printJobCompleted(PrintJobEvent pje) {
            System.out.println("Print Completed");
            allDone(true,"Print Completed");
        }
        public void printJobFailed(PrintJobEvent pje) {
            System.out.println("Print failed");
            allDone(false,"Print failed");
        }
        public void printJobNoMoreEvents(PrintJobEvent pje) {
            System.out.println("Print No More Events");
            allDone(true,"Print No More Events");
        }
        void allDone(boolean esito, String info) {
            synchronized (PrintJobWatcher.this) {
                System.out.println("Printing done ...");
                PrintJobWatcher.this.notify();
            }
        }
    });     
}

Теперь в какой-то ситуации у меня мало контроля над принтером. Например, я не могу выполнить. Если мой принтер не готов или у него есть какие-то проблемы, я хотел бы проверить состояние принтера mi, прежде чем отправлять мои документы. Для этого я гуглю и нашел несколько библиотек лежащих cups4j, которые могут мне помочь. Есть кто-то, кто сталкивался с этой же проблемой? Можете ли вы дать мне несколько советов по этому поводу?

0 ответов

Другие вопросы по тегам