첨부 파일을 메모 데이터베이스에서 가져 와서 문서를 찾아서 바꾸고 해당 프린터에서 지정된 프린터에 따라 보내는 Java 응용 프로그램을 개발 중입니다. 프로그램 설정.선택에 따라 프린터로 자바 인쇄
설정은 JComboBox 및 PrintService 클래스를 사용하여 작동합니다. PrintServiceLookup.lookupPrintServices를 사용하여 컴퓨터에 설치된 프린터 목록을 가져 와서 그 결과로 채우는 중입니다. 찾기 및 바꾸기를 수행하고 프린터로 보내려면 Aspose.Words를 사용하고 있습니다. Aspose를 사용하여 문서를 프린터로 보내려면 간단히 Document.print ("프린터 이름")입니다. 이것은 콤보 박스 "getSelectedItem.toString();"을 전달하는 것만 큼 간단합니다. Document.print 기능으로하지만 내 문제는 프로그램이 많이 의존하는 네트워크 프린터입니다.
네트워크 프린터가 UKTESTSERVER01 서버에있는 경우 네트워크 프린터는 "HQ Printer on UKTESTSERV01"로 지정되지만 PrintServiceLookup에 반환되는 값은 "\ UKTESTSERV01 \ HQ Printer"입니다. 이 기능은 인쇄 기능에 전달 될 때 Microsoft 워드 프린터로 인식되지 않으므로 기본값으로 인쇄됩니다.
아마도 다른 인쇄 클래스를 사용하거나 Microsoft 단어 프린터를 나열하는 클래스를 사용하여 다른 해결책을 찾고 있습니다. 어떤 도움이라도 대단히 감사합니다!
감사합니다. 로스.
코드는 아래 나와 있습니다. 많은 부분을 남겨두고 관련 영역 만 포함 시켰습니다.
PrintService[] printServices = PrintServiceLookup.lookupPrintServices(
null, null);
String[] printers = {"No Printer", "No Printer", "No Printer",
"No Printer", "No Printer", "No Printer", "No Printer",
"No Printer","No Printer"};
int i = 0;
for (PrintService printer : printServices){
printers[i] = printer.getName();
i++;
}
final JComboBox printerCombo1 = new JComboBox(printers);
printerCombo1.setBounds(109, 11, 295, 20);
getContentPane().add(printerCombo1);
String specifiedPrinter = printerCombo1.getSelectedItem().toString();
document.print(specifiedPrinter);