StreamPrintServiceFactory

StreamPrintServiceFactory

특정 문서 형식(mime 타입으로 설명됨)으로 출력 스트림에 인쇄할 수 있는 StreamPrintService 인스턴스의 팩토리 역할을 하는 추상 클래스예요. 일반적인 출력 문서 형식은 Postscript(TM)일 수 있어요.

출처: Java API Reference

본문

javax.print 패키지에 속하는 추상 클래스로, java.lang.Object를 상속해요. 이 클래스는 서비스가 구현하고 ServiceLoader 기능을 사용해 구현부가 찾아요. 응용 프로그램은 lookupStreamPrintServiceFactories(DocFlavor, String) 메서드를 호출해 이 클래스의 인스턴스를 찾아요.

응용 프로그램은 팩토리에서 얻은 StreamPrintService를 물리적 프린터 장치를 나타내는 PrintService 대신 사용할 수 있어요.

public abstract class StreamPrintServiceFactory extends Object

lookupStreamPrintServiceFactories

public static StreamPrintServiceFactory[] lookupStreamPrintServiceFactories(
        DocFlavor flavor, String outputMimeType)

outputMimeType이 지정한 형식으로 데이터 스트림을 출력하는 인쇄 작업에 사용할 수 있는 인쇄 서비스 팩토리를 찾아요. outputMimeType 파라미터는 만들려는 문서 타입을 설명하고, flavor 파라미터는 응용 프로그램이 StreamPrintService에 제공할 입력 데이터의 형식을 설명해요.

  • 파라미터 flavor: 입력 문서 타입의 flavor. null이면 모든 타입과 일치
  • 파라미터 outputMimeType: 요구되는 출력 형식. null이면 모든 형식과 일치
  • 반환값: 스트림 인쇄 서비스 인스턴스를 위한 일치하는 팩토리들. 적합한 팩토리를 찾을 수 없으면 빈 배열

getOutputFormat

public abstract String getOutputFormat()

이 팩토리에서 얻은 프린터가 내보내는 문서 형식을 질의해요.

  • 반환값: mime 타입으로 설명된 출력 형식

getSupportedDocFlavors

public abstract DocFlavor[] getSupportedDocFlavors()

이 팩토리에서 얻은 프린터가 받아들일 수 있는 문서 flavor들을 질의해요.

  • 반환값: 지원되는 doc flavor 배열

getPrintService

public abstract StreamPrintService getPrintService(OutputStream out)

지정된 출력 스트림에 인쇄할 수 있는 StreamPrintService를 반환해요. 출력 스트림은 응용 프로그램이 만들고 관리해요. 스트림을 닫고 이 Printer를 재사용하지 않는 책임은 응용 프로그램에 있어요. 응용 프로그램은 프린터에서 만든 인쇄 작업이 완료될 때까지 스트림을 닫지 말아야 해요. 일찍 닫으면 PrinterException과 작업 실패를 나타내는 이벤트가 발생할 수 있어요.

물리적 프린터에 연결된 PrintService는 재사용할 수 있지만, 스트림에 연결된 StreamPrintService는 재사용할 수 없어요. 기본 StreamPrintServiceDocPrintJobprint 메서드가 반환되기 전에 print 시스템이 dispose 메서드로 폐기할 수 있어요. 이는 물리적 프린터가 영구적으로 오프라인이 되는 것과 동일해요.

  • 파라미터 out: 생성된 출력의 대상 스트림
  • 반환값: 이 팩토리가 지원하는 DocFlavor가 지정한 형식을 생성할 PrintService

더 알아보기