2012-11-15 4 views
0

SWT PrintDialog를 사용하여 로컬 프린터를 표시 한 다음 선택한 프린터 값을 반환 할 수 있습니까?SWT - PrintDialog 로컬 프린터를 가져 와서 인쇄하지 마십시오.

필자에게 적합한 프린트 클래스가 있습니다. 나는 다음과 같은 변수들을 클래스에 전달한다.

문자열적인 filePath 문자열 printerName를 문자열 작업 이름은

나는 다음과 같은 방법으로 내 GUI 클래스에서 인쇄 클래스를 호출합니다.

new AplotPdfPrintLocal().printPDF("c:\\Temp\\test.pdf", "\\\\PrintServer\\MyPrinter","PDF Print Job"); 

바로 지금 전화가 기본 프린터에서 전달됩니다.

위의 호출 전에 PrintDialog처럼 로컬 프린터 대화 상자를 열면 좋습니다. 로컬 프린터를 선택한 다음 선택한 프린터 값으로 내 인쇄 클래스를 호출 할 수 있습니다. 내 Print Class가 PrintDialog 대신 인쇄 작업을 수행하도록하는 것이 좋습니다.

나는 OK 버튼을 PrintDialog에서 눌렀을 때, 우리는 다음과 같은 의사 코드

public void widgetSelected(SelectionEvent e) { 
    new AplotPdfPrintLocal().printPDF("c:\\Temp\\test.pdf", "SelectedPrinterValue","PDF Print Job"); 
} 

같은이 가능 할 갈 것을 생각했다?
이 작업을 수행하는 더 좋은 방법이 있습니까?

로컬 프린터 (PrinterJob.lookupPrintServices())를 찾는 방법이 있다는 것을 알고 있습니다. 하지만 새로운 대화 상자를 쓰고 싶지는 않습니다. 기존의 PrintDialog와 같은 기존 대화 상자를 사용하고 싶습니다.

답변

1

PrintDialog은 기본 인쇄 옵션을 제공합니다. PrintDialog을 사용하지 않으려면 모든 인쇄 옵션 (PrintData 및 PrintDialog에서 볼 수있는 기타 용지 옵션 등)을 설정해야합니다.

인쇄 옵션이있는 PrintData을 정의하고 프린터 (printerdata)를 만들고 인쇄 작업을 시작하십시오.