2017-09-21 1 views
0

현금 카운터와 포장 영역 (창고)에 주문서를 인쇄해야하는 경우가 있습니다.javafx의 PrinterJob에서 대상 프린터를 설정하는 방법

기술적으로 프린터 이름을 말하면 javafx.print.PrinterJob을 인쇄하는 방법.

1) 샘플 인쇄

public static void PrintSample() { 
    Label lbl = new Label("This is sample \n\n\n\n\n\nprint"); 
    PrinterJob job = PrinterJob.createPrinterJob(); 
    if (job != null ) { 

     boolean success = job.printPage(lbl); 
     if (success) { 
      job.endJob(); 
     } 
    } 
} 

2) 프린터

public static void GetListOfPrinters() { 
    PrintService[] printServices = PrintServiceLookup.lookupPrintServices(null, null); 
    System.out.println("Number of print services: " + printServices.length); 

    for (PrintService printer : printServices) { 
     System.out.println("Printer: " + printer.getName()); 
    } 

} 

답변

1

없는 인수와 방법 'createPrinterJob'의 목록을 가져가 기본 프린터에 대한 프린터 작업을 만듭니다. 'createPrinterJob (프린터 프린터)'메소드의 다른 버전을 사용하여 지정된 프린터에 대한 프린터 작업을 생성 할 수 있습니다. 먼저 아래와 같이 프린터의 인스턴스를 얻을 :

Printer myPrinter; 
ObservableSet<Printer> printers = Printer.getAllPrinters(); 
for(Printer printer : printers){ 
    if(printer.getName().matches("spefic printer name")){ 
     myPrinter = printer; 
    } 
} 

지금과 같은 'myPrinter'에 대한 프린터 작업 만들기 :

PrinterJob job = PrinterJob.createPrinterJob(myPrinter); 
0

PrinterJob에 작업 = PrinterJob.createPrinterJob (myPrinter를); 이 줄이 작동하지 않습니다. 오류가 발생했습니다. PrinterJob 유형에 대해 createPrinterJob (Printer) 메서드가 정의되지 않았습니다.

+2

https://docs.oracle.com/javase/8/javafx/api/javafx/print/PrinterJob.html 그 방법이 존재한다는 것. 클래스를 올바르게 가져 오지 않았을 수 있습니다. 의심스러운 점이 있으면 의견을 추가하십시오. 귀하의 텍스트는이 질문에 대한 대답이 아닙니다. – RubioRic