2013-10-29 6 views
0
fis = new FileInputStream(file); 
DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE; // FILE IS .txt TYPE 
PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet(); 
//pras.add(MediaSizeName.ISO_A4); 
//pras.add(new Copies(1)); 

PrintService printService[] =PrintServiceLookup.lookupPrintServices(flavor, pras); 
System.out.println("Print Service:"+printService); 

PrintService defaultService =PrintServiceLookup.lookupDefaultPrintService(); 
System.out.println("Default Service:"+defaultService); 
PrintService service = ServiceUI.printDialog(null, 200, 200,printService, defaultService, flavor, pras); 

if (service != null) 
{ 
    System.out.println("Selected Service"+service); 
    DocPrintJob job = service.createPrintJob(); 
    job.addPrintJobListener(new MyPrintJobListener()); 

    System.out.println("JOB:"+job); 
    DocAttributeSet das = new HashDocAttributeSet(); 
    Doc doc = new SimpleDoc(fis, flavor, das); 

    System.out.println("Start of Print"); 
    job.print(doc, pras); 
    System.out.println("End of Print"); 
    i=1; 
} 
else 
{ 
    i=0; 
} 

나는 그의 쿼리에 따라 데이터베이스의 세부 정보가 들어있는 파일에 저장된 데이터를 인쇄하려는 웹 응용 프로그램에서 작업하고 있습니다. 위의 코드를 메소드가 호출되면 사용자에게 인쇄 대화 상자를 제공하여 사용자가 자신의 컴퓨터에 연결된 프린터 목록에서 프린터를 선택할 수 있습니다. 로컬 프린터로 인쇄하려고하면 파일이 C : \ WINDOWS \ system32 \ spool 폴더로 전송되어 인쇄용으로 사용됩니다. 는하지만 네트워크 프린터의 경우에는 발생하지 않습니다 네트워크 내 프린터 내가 내 파일자바에서 파일 인쇄

답변

0

프린터를 인쇄 할 프린터의 목록을 볼 수 있지만, 수 없어요 캐논 MP280 시리즈 프린터 입니다 네트워크가 공유인지 여부 프린터가 공유되고 PC/노트북에 설치되어있는 경우 . 을 수행해야 인쇄 서비스 이름의 목록 배열의 선택 하나

예를 들어

PrintService defaultPrintservice = printServices[0]; 

프린터가 사용자의 PC/노트북에 설치되지 않은 경우, 당신은 예를 들어, 위치 네트워크 프린터의 경로

를 설정해야합니다 D

:
new PrinterName("ipp:\\\\witnw21va\\ipp\\ITDepartment-HP4050", null); 

내가 그것이 문제 : 내 영어에 대한 유감을 해결 희망