을 사용하여 문서를 인쇄 할 수 없습니다. IP 주소, 프린터 이름을 사용하여 특정 프린터로 문서를 인쇄하고 오류 및 예외없이 잘 실행되는 프로그램을 구현했습니다. 자바에서 프린터 작업을 보내고 있습니다. 로컬 프린터 인쇄 풀에서이 작업을 볼 수 있지만 페이지가 프린터로 인쇄되지 않습니다.Java 프린터 서비스 (JPS)
URI myURI=null;
FileInputStream psStream=null;
try {
psStream = new FileInputStream("sample.doc");
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
DocFlavor psInFormat = DocFlavor.BYTE_ARRAY.GIF;
Doc myDoc = new SimpleDoc(psStream, psInFormat, null);
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
PrintService[] services = PrintServiceLookup.lookupPrintServices(psInFormat, aset);
if (services.length > 0) {
DocPrintJob job = services[0].createPrintJob();
try {
job.print(myDoc, aset);
}
catch (PrintException e){
}
}
제발 나를 도울 수 있을까요?
감사합니다, 스리 칸스 Chilukuri
가 나는 문제를 발견했다.
psStream = new FileInputStream("sample.doc");
위의 진술은 문제를 만듭니다. MS 워드 응용 프로그램이므로 파일 입력 스트림을 사용하여 파일을 읽을 수 없습니다.
나는 POI 항아리를 사용 중이며 의사를 읽고 있습니다.
POIFSFileSystem psStream = new POIFSFileSystem(new FileInputStream(filesname));
Doc myDoc = new SimpleDoc(psStream, psInFormat, null);
그러나 문서의 API가 supporing되지 당신이 나를 도와 주 시겠어요 IllegalArgumentException가
에게Exception in thread "Main Thread" java.lang.IllegalArgumentException: data is not of declared type
at javax.print.SimpleDoc.<init>(SimpleDoc.java:82)
at com.src.print.TestPrint2.main(TestPrint2.java:67)
을 얻었다.
문제가 해결되지 않을 수도 있지만'PrintException'을 자동으로 무시해서는 안됩니다. –