2011-03-31 2 views
1

나는 특정 프린터로 인쇄 작업을 보내기 위해 다음 코드를 사용하고 있습니다 :Java PrintService에서 PrinterUri 속성을 무시합니까?

PrintServiceAttributeSet aset = new HashPrintServiceAttributeSet(); 
    try { 
      aset.add(new PrinterURI(new URI("ipp://hostName/printerName"))); 
     } catch (URISyntaxException e) { 
      System.out.println("URI exception caught: "+e); 
     } 
     PrintService[] services = 
      PrintServiceLookup.lookupPrintServices(DocFlavor.INPUT_STREAM.POSTSCRIPT,aset); 

Strangley, 나는 9 개 조회 결과를 얻을 수 (= 특정 호스트의 모든 사용 가능한 프린터) - 첫 번째 동안 결과는 제가 찾는 것입니다. PrintService JavaDocs와 웹에서 검색을했는데 문제는 발견되지 않았습니다.

PrintServiceLookup은 내 요청과 일치하는 프린터 만 반환해야합니까? (이 경우 하나의 프린터)

미리 감사드립니다!

+0

당연히이 문제에 대한 해결 방법이 있습니다. 결과 내에서 원하는 프린터를 검색합니다. 그러나, 나는 아직도 1 개 이상의 대답을 얻는 방법을 이해하지 못한다. 나는'DocFlavor.INPUT_STREAM.POSTSCRIPT'와 동일한 코드를 테스트했지만 ** PrinterUri' 속성을 가지지 않고 ** 같은 9 개의 결과를 얻었습니다 -'PrintServiceAttributeSet'가 무시되고있는 것으로 보입니다 ... – gamadon

답변

0

내가 사용하고 있던 URI가 잘못되었다는 것이 판명되었습니다. (유효한 구문을 사용하므로 아무런 예외도 발생하지 않았습니다.)
Java PrintService는 잘못된 속성을 무시합니다 (내 기대와는 달리 PrintService는 잘못된 속성의 경우 결과를 반환하지 않습니다).

감사합니다.

+0

어떻게 올바른가? ipp : 형식, \\ PSCPARKP01 \ CP_P1_OKI20_2와 같은 프린터를 사용할 수 없습니다. – caeycae

관련 문제