2011-08-06 6 views
0

RTF 파일을 Java 프로그램을 사용하여 파일의 인쇄물로 직접 가져 가고 싶습니다. 나는RTF 파일을 JAVA 클래스에서 Lipi 프린터로 직접 스풀링하십시오.

 FileInputStream psStream = null; 
     try { 
      psStream = new FileInputStream("C://SampleBoard2.rtf"); 
      } catch (FileNotFoundException ffne) { 
       ffne.printStackTrace(); 
      } 
      if (psStream == null) { 
       return; 
      } 
     DocFlavor psInFormat = DocFlavor.INPUT_STREAM.AUTOSENSE; 
     Doc myDoc = new SimpleDoc(psStream, psInFormat, null); 
     PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet(); 
     PrintService[] services = PrintServiceLookup.lookupPrintServices(psInFormat, aset); 


     PrintService myPrinter = null; 
     for (int i = 0; i < services.length; i++){ 

      String svcName = services[i].toString(); 
      myPrinter = services[i]; 
     } 
     if (myPrinter != null) { 
      DocPrintJob job = myPrinter.createPrintJob(); 
      try { 
      job.print(myDoc, aset); 

      } catch (Exception pe) {pe.printStackTrace();} 
     } else { 
     System.out.println("no printer services found"); 
     } 

파일을 프린터로 스풀 및 인쇄도 시작됩니다 만,을 (서버에 연결되어있는) 하나의 프린터 (LIPI을 고려) 다음 코드를 시도 프린터 인쇄 thge RTF 파일의 내용 텍스트 파일 내용. 파일을 RTF으로 렌더링 한 다음 인쇄하려면 어떻게해야합니까?

인쇄물에 다음과 같이 표시됩니다. rtf1 \ ANSI \ ansicpg1252 \ deff0 {\

\ fonttbl {\ F0 \ froman \ 타임즈 뉴 로마 fcharset0} {\ F1 \ froman \ 택배 fcharset0} {\ F2를 \ froman fcharset0 굴림 \; } {\ f3 \ froman \ fcharset0 알 수 없음;}} {\ colortbl \ red0 \ green0 \ blue0; \ red255 \ green255 \ blue255} \ 스타일 시트 {\ style \ s0 \ ql \ fi0 \ li0 \ ri0 \ f2 \ f2 \ f0 \ f2 \ f2 \ f2 \ f2 \ f2 \ f2 \ f2 \ f2 \ f324 \ fs28 \ b \ i \ cf0 제목 2;} {\ style \ s1 \ ql \ fi0 \ li0 \ ri0 \ f2 \ fs32 \ b \ cf0 제목 1;}} ..... ..... ....

.... ... ...

어디로 잘못 가고 있습니까?

+0

인쇄하기 전에 HTML 페이지를 렌더링하는 것과 같은 방법으로 RTF 렌더링 엔진이 필요합니다. –

+0

@ Thorbjørn Ravn Andersen : 'JAVA'에 대한 'RTF 렌더링 엔진'을 제안 할 수 있습니까? 그리고 프린터와 클래스간에 배치 할 수있는 곳은 어디입니까? –

+0

아니요. RTF 엔진에 대한 경험이 없습니다. . 돈을 지불 할 준비를하십시오. –

답변

0

엄청난 사업. 가장 쉬운 방법은 wordpad 또는 openoffice와 같은 외부 프로그램을 호출하여 파일을 직접 인쇄하는 것입니다 - f.e. write.exe /p filename.rtf을 호출하면 인쇄 대화 상자가 나타납니다. OpenOffice는 Java와 브리지가 있어야하는데, javax.activation을 조사하고 싶을 수도 있습니다.

+0

또 다른 질문은 OpenOffice가 Office RTF (일부 그래픽 스터프) 렌더링에 몇 가지 단점이 있다고 언급했습니다. 렌더링 엔진의 한계 내에서 더 잘 지내야합니다. –

관련 문제