ServletOutputStream отображать диалоговое окно печати

Можно ли отобразить поле для печати, как показано на рисунке ниже, для ServletOutputStream?

коробка печати

У меня есть JavaScript, который откроет новое окно, и он откроет сервлет. Как ниже код

window.open("${pageContext.request.contextPath}/PrintingPDF?id="+data)

В сервлете PrintingPDF я установил тип контента в application/pdf. Поэтому после загрузки PDF в новом окне я хочу отобразить диалоговое окно печати. ниже мой код в сервлете PrintingPDF.

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        //response.setContentType("text/html;charset=UTF-8");
        ServletOutputStream out = null;
        FileInputStream in = null;
        BufferedInputStream bis = null;
        BufferedOutputStream bos = null;

        try {

            String id = request.getParameter("id");         
            String downloadPath = ConfigUtil.getParameter("downloadpath");

            in = new FileInputStream(downloadPath + "/"+ id +".pdf");
            if(in!=null){
                response.setContentType("application/pdf");
                out = response.getOutputStream();
                bis = new BufferedInputStream(in);
                bos = new BufferedOutputStream(out);

                int ch = 0;
                while((ch=bis.read())!=-1){
                    bos.write(ch);
                }
            }

        }catch(DocumentException docEx){
            log.debug("document exception :: " + docEx.getMessage());
        }catch(Exception ex){
            log.debug("Exception ex :: " + ex.getMessage());
        }finally {
            bis.close();
            bos.close();
            in.close();
            out.close();
        }
    }

Надеюсь, кто-нибудь может мне помочь.

0 ответов

Другие вопросы по тегам