Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
769 views
in Technique[技术] by (71.8m points)

printing - How to Access the printer queue within java

Suppose that I printed some documents from a program like MS Word. Let's say I selected 4 documents at once, so three of them would end up waiting in the printer queue. I would like to access and read some information about the documents waiting in the queue. In other words, how can I access the printer queue and read information about any pending files with java?

Is there a way to do that? If so, how can I do it?

Thanks for the help

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

maybe this function helpful for you.

public Integer getExistQueuePrinter() {
    int queue = 0;
    PrintService myService = null;
    PrintService printService = PrintServiceLookup.lookupDefaultPrintService();

    if (printService != null) {

        //--> set printService.
        myService = printService;

        //--> get attributes from printService.
        AttributeSet attributes = printService.getAttributes();

        //--> loop attributes.
        for (Attribute a : attributes.toArray()) {
            String name = a.getName();
            String value = attributes.get(a.getClass()).toString();
            //System.out.println(name + " : " + value);
            if (name.equals("queued-job-count")) {
                //System.out.println(name + " : " + value);
                queue = Integer.parseInt(value);
            }
        }

        Object[] obj = attributes.toArray();
        //System.out.println("queue = " + obj[3]);

        return queue;
        /* debug.
         for (Object value : obj) {
         System.out.println("Color = " + value);
         }
         */

    }
    return null;
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...