2010-03-26 10 views
2

RCP programm에서 "출력"을 생성하고 인쇄하는 좋은 표준 방법을 찾고 있습니다. 표준 인쇄 대화 상자가있는 Windows, Mac OS 및 Linux에서 작동하므로이 기능이 작동합니다.Eclipse RCP 프로그램으로 인쇄

Birt 프로젝트에 대해 알고 있지만 RCP 프로그래밍에서이를 구현하는 방법과 표준 인쇄 대화 상자를 호출하는 방법 및 생성 된 Birt 보고서를 프린터로 전달하는 방법에 대한 힌트를 찾을 수 없습니다.

모든 힌트에 대해 행복합니다.

답변

2

나는 Birt를 믿는다 project used to use IText. (현재 ITextPDF)

다른 해결책은 integrate Apache Fop in your RCP project입니다. (Apache FOP 참조).

  • : 그 내용은
    (즉이 나는 확실하지 않다 FOP에 통합 된 경우) it is advised to 새로운 중간 형식의 일부로서 IFDocumentHandler/IFPainter 쌍을 렌더러 을 구현하지만, 구현하지 작동합니다 새 Java 프로젝트를 만들고 패키지 이름을 결정하고 IFDocumentHandler (문서 수준) 및 IFPainter (페이지 수준)을 구현하는 두 클래스를 준비합니다.
    이러한 인터페이스는 org.apache.fop.render.intermediate 패키지에 있습니다.
  • 새 구현을 등록하려면 MIME 형식을 정의하고 ( MimeConstants.java 참조) 팩토리 클래스로 사용되는 AbstractIFDocumentHandlerMaker 확장 클래스를 만들어야합니다.
  • 그런 다음 "maker"클래스의 정규화 된 클래스 이름을 작성하는 META-INF/services/org.apache.fop.render.intermediate.IFDocumentHandler이라는 텍스트 파일을 만듭니다.
  • 내가 추가해야 할 수도있는 한 가지는 (현재 누락 된) setIFDocumentHandlerOverride() 방법은 FOUserAgent입니다. 따라서 SWT 창에 출력을 설정할 수 있습니다. 일반 API는 파일 생성에 최적화되어 있습니다.

bug 23618 (나중에 고정 칠년는!) 프린터 작업을 만드는 작은 예제를 포함하고 SWT FAQ는 (디스플레이, DPI 및 트림 대) 프린터에 몇 가지 흥미로운 요소가 있습니다. 이 SWT snippet도 상당히 명확합니다.
그러나 처리기 (예 : 작성한 모든 클래스, 인쇄 대화 상자를 열 수 있음)를 설정하면 define one easily 이어도 명령을 통해 호출되는 예제는 없습니다.

참고 : 인쇄 대화 상자를 호출 할 때 Eclipse Helios 3.6의 최신 릴리스 (즉, 3.6M5 of late January 2010)만이 워크 벤치가 종료 될 때까지 모든 텍스트 편집기에 대해 사용자가 선택한 옵션을 기억할 수 있습니다 (즉 :

  • 선택한 프린터
  • 프린터 설정을 파일에
  • 인쇄 :이 용지 크기, 페이지 순서 방향 등과 같은 프린터 특정 옵션입니다)
+0

감사합니다. 아주 좋은 답변입니다. 이클립스 RCP 프로그램과 표준 인쇄 대화 상자에 대한 링크는 분명하지 않습니다. 또한 출력물을 프린터 (대기열)로 "이동"시키는 방법은 무엇입니까? – Raven

+0

다시 한번 감사 드리지만, 우리는 두 가지 다른 것에 대해 이야기하고있는 것처럼 보입니다. 표준 인쇄 대화 상자를 호출하고 사용하는 방법 (작업이 아니라 명령이 아니라 명령 사용)을 이해하고 데이터를 프린터 큐로 전달하는 방법을 알고 싶었습니다. Havent는 아직 그것에 관한 튜토리얼을 발견했습니다. – Raven

+0

@Raven : 사실, "나쁜"동작을 기반으로하는 오래된 FAQ 항목입니다.) 주제에 대한 일부 요소만으로 답변을 업데이트했지만 최종 답변은 없습니다. – VonC