2012-06-22 2 views
2

이것은 매우 추상적 인 질문이다.Spring MVC/Jasper Application에서 조용히 인쇄

나는 대량의 인보이스 인쇄를 계속 처리해야하는 Spring MVC 웹 애플리케이션을 만들고있다. 현재 인보이스가 저장되면 스프링 컨트롤러는 인보이스 ID를 pdf를 준비하는 재스퍼 pdf 생성 서비스에 위임합니다. pdf가 다운로드되면 사용자가 수동으로 인쇄합니다.

사용자가 송장을 저장할 때 자동으로 송장을 인쇄하는 방법이 필요합니다.

아이디어가 있으십니까?

+0

사용자가 마지막에 프린터에 인쇄하기를 원하는 시점에 사용자가 저장하면 다시 말합니까? – threejeez

+0

* 사용자의 워크 스테이션에있는 연결된 프린터로 끝까지 프린터로 인쇄하십시오. –

답변

0

PDF로 내보내므로 가능합니다. 값이 "this.print({bUI: true,bSilent: false,bShrinkToFit: true});"JRPdfExporter 인스턴스에 JRPdfExporterParameter.PDF_JAVASCRIPT 매개 변수를 추가해야합니다. 예 :

protected static byte[] exportReportToPdf(JasperPrint jasperPrint) throws JRException{ 
    JRPdfExporter exporter = new JRPdfExporter();  
    ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
    exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); 
    exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, baos); 
    exporter.setParameter(JRPdfExporterParameter.PDF_JAVASCRIPT, "this.print({bUI: true,bSilent: false,bShrinkToFit: true});");  
    exporter.exportReport();   
    return baos.toByteArray(); 
} 

실제로 PDF에 JavaScript가 추가됩니다. PDF가 열리면 실행되고 인쇄 대기열로 보내집니다. 일반적으로 사용자를 위해 자동으로 수행하는 것이 좋지 않은 것으로 간주되므로이 내용은 간과해서는 안됩니다. 앱에서 사용했을 때 각 보고서에 대해 버튼을 사용해야했습니다. Export 버튼 (자바 스크립트가 포함되어 있지 않음) 및 수행 한 버튼이 Print입니다. 그렇게해서 인쇄하려는 사용자는 그렇게 할 것이고 디지털 복사를 원하는 사용자는 그렇게 할 것입니다.

+0

http://stackoverflow.com/questions/13313165/jasper-pdf-export-printing-in-internet-explorer jschoen - 당신은 내 질문을 볼 수 있습니다, 그것은이 질문의 상황과 비슷합니다. 그리고 당신은 많은 통찰력을 가지고 있습니다. 내 내장 된 인쇄물 javascript가 브라우저 간 일관되게 작동하지 않는 데 문제가 있습니다. – user619804

관련 문제