상세 컨텐츠

본문 제목

java 개발 프린터 객체 설정된 프린터 가져오기 또는 디폴드 프린터 가져오기 (지정한 프린터 서비스 가져오기) 관련

본문

반응형

 

 

 

 

=================================

=================================

=================================

 

 

 

 

 

 

 

 

출처: http://202psj.tistory.com/646 //여기

 

protected PrintService[] m_services;

protected PrintService   m_serviceDef = null;

 

m_services = PrinterJob.lookupPrintServices();                         //설정된 여러프린터를 가져온다

m_serviceDef = PrintServiceLookup.lookupDefaultPrintService();  //디폴트 기본 지정된 프린터를 가져온다.

 

 

 

설명 링크: http://xrath.com/javase/ko/6/docs/ko/api/javax/print/PrintServiceLookup.html#lookupDefaultPrintService()

 

lookupDefaultPrintService

public static final PrintService  lookupDefaultPrintService()
이 환경의 디폴트 인쇄 서비스를 검출합니다. null 를 돌려주는 일도 있습니다. 복수의 룩 업 서비스 각각으로 디폴트가 지정되고 있는 경우, 선택된 서비스는 엄밀하게는 정의됩니다만, 인스톨 끝난 서비스는 아니고, 플랫폼 네이티브의 서비스가 디폴트로서 돌려주어집니다. 명확하게 식별 가능한 플랫폼 네이티브의 디폴트 인쇄 서비스가 존재하지 않는 경우, 구현 고유의 방법으로 최초로 검출된 서비스가 디폴트가 됩니다.  

이것에는, Java 또는 네이티브 플랫폼의 일부로서 이용 가능한 설정 API 의 어떤 것인지를 활용하는 것이 포함됩니다. 이 알고리즘은, javax.print.defaultPrinter 프로퍼티을 설정하는 사용자에 의한 덧쓰기가 가능합니다. 지정된 서비스가 유효한 서비스로서 검출되어 한편 디폴트로서 돌려줄 수가 없으면 안됩니다.

 

반환값:
디폴트의 PrintService

 

 

 

=================================

=================================

=================================

 

 

 

반응형

 

728x90

 

 

 

출처: http://blog.naver.com/mobilemania?Redirect=Log&logNo=140066923795

 

package org.ujava.test.printer; 

import javax.print.DocPrintJob;
import javax.print.PrintService;
import javax.print.PrintServiceLookup;
import javax.print.ServiceUIFactory;
import javax.print.attribute.Attribute;
import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.print.attribute.PrintRequestAttributeSet;
import javax.print.attribute.PrintServiceAttributeSet;
import javax.print.attribute.standard.Chromaticity;
import javax.print.attribute.standard.Copies;
import javax.print.attribute.standard.MediaSizeName;
import javax.print.attribute.standard.Sides;

/**
 *
 * @author java
 */
public class PrinterTest
{
    public static void main(String[] args)
    {
        new PrinterTest().info();
    }

    public void info()
    {
        PrintService svc = PrintServiceLookup.lookupDefaultPrintService();
        info(svc);

        PrintService[] services = PrintServiceLookup.lookupPrintServices(null, null);
        /**
        for (int i = 0; i < services.length; i++) {
            PrintService service = services[i];
            info(service);
        }
         * */
        
        PrintRequestAttributeSet attrs = new HashPrintRequestAttributeSet(); // null이 아니어야만 한다.

        attrs.add(new Copies(5)); // paper count  http://java.sun.com/j2se/1.5.0/docs/api/javax/print/attribute/standard/Copies.html
        attrs.add(MediaSizeName.TABLOID); // paper size  http://java.sun.com/j2se/1.5.0/docs/api/javax/print/attribute/standard/MediaSizeName.html
        attrs.add(Chromaticity.MONOCHROME); // 흑백인쇄 http://java.sun.com/j2se/1.5.0/docs/api/javax/print/attribute/standard/Chromaticity.html#MONOCHROME
        attrs.add(Sides.DUPLEX); // 양면인쇄  http://java.sun.com/j2se/1.5.0/docs/api/javax/print/attribute/standard/Sides.html#DUPLEX

        //PrintService selection = ServiceUI.printDialog(  null, 100, 100, services, svc, null, attrs);
        PrintService defaultService = PrintServiceLookup.lookupDefaultPrintService();
        DocPrintJob printJob = defaultService.createPrintJob();

    }


    void info(PrintService s)
    {
        System.out.println(s.getName() + " :: "+s.getClass().getName());
        PrintServiceAttributeSet set = s.getAttributes();
        showAttributes(set);
        ServiceUIFactory fac = s.getServiceUIFactory();
        System.out.println("fac: "+fac); // null

    }

    void showAttributes(PrintServiceAttributeSet set)
    {
        System.out.println("set: "+set); // javax.print.attribute.AttributeSetUtilities$UnmodifiablePrintServiceAttributeSet@85028e19
        Attribute[] attrs = set.toArray();
        for (int i=0;i<attrs.length;i++)
        {
            Attribute attr = attrs[i];
            System.out.println("attr: "+attr.getName()
                      //+" "+attr.getCategory()
                      +" "+attr.toString());
        }
        /*
         *
        attr: printer-is-accepting-jobs accepting-jobs
        attr: printer-name Samsung CLP-300 Series
        attr: color-supported supported
        attr: queued-job-count 0
         * */

    }
}

[출처] java Printer Attribute sample|작성자 mobilemania

 

 

 

=================================

=================================

=================================

 

 

반응형


관련글 더보기

댓글 영역