Jasper reports 医院前台ADF项目客户打印机上的静默打印

Jasper reports 医院前台ADF项目客户打印机上的静默打印,jasper-reports,oracle-adf,adobe-javascript,Jasper Reports,Oracle Adf,Adobe Javascript,我正在医院前台ADF项目中工作,这里我需要生成不需要打印预览的就诊单。我想要打印没有任何打印对话框的就诊单,也不想要弹出窗口。我试了很多在网上找到的东西,但没有找到可靠的。。 在Jasper报告上尝试了这个。打印,通过Java尝试了同样的方法,但是我得到了对话框。 我在一个内部网上工作,所以安全方面不在讨论范围之内,所以我如何做到这一点?这是一个建议,而不是一个答案,但在我获得50分的声誉之前,我不能发表评论谢谢你的热烈欢迎,StackOverflow!-也许其中一个会有帮助: 一, 2我能够执

我正在医院前台ADF项目中工作,这里我需要生成不需要打印预览的就诊单。我想要打印没有任何打印对话框的就诊单,也不想要弹出窗口。我试了很多在网上找到的东西,但没有找到可靠的。。 在Jasper报告上尝试了这个。打印,通过Java尝试了同样的方法,但是我得到了对话框。
我在一个内部网上工作,所以安全方面不在讨论范围之内,所以我如何做到这一点?

这是一个建议,而不是一个答案,但在我获得50分的声誉之前,我不能发表评论谢谢你的热烈欢迎,StackOverflow!-也许其中一个会有帮助:

一,


2

我能够执行静默打印,我使用一个弹出窗口调用一个servlet,该servlet生成所需的就诊单,并在弹出窗口上显示相同内容。对于我使用的无声打印

                exporter.setParameter(JRPdfExporterParameter.PDF_JAVASCRIPT, "this.print({bUI: false,bSilent: false,bShrinkToFit: true,printParams:this.getPrintParams().constants.interactionLevel.silent});this.close();");
我不得不对IE进行一些更改,我在IE中将我的url添加到受信任的站点选项。我在acrobat中启用了js,还将acrobat指向IE中的受信任站点。这解决了无声打印问题,但我遇到了另一个问题

打印完成后,我无法关闭窗口。。我试过这个

            "var win = window.open('PrintPopUp.jsf','_blank',\"height=300,width=200,scrollbars=no," +
        "status=no, resizable=no, screenx=0, screeny=0\");win.onclick=function(){setTimeout(function(){win.close();\n},9000);}

但它在IE 11中不起作用。。有什么建议吗?

好吧,我找到了一个方法

JRPdfExporter exporter = new JRPdfExporter();
        exporter.setParameter(JRPdfExporterParameter.PDF_JAVASCRIPT,
                              "var pp = this.getPrintParams();pp.interactive=pp.constants.interactionLevel.silent;pp.NumCopies=1; this.disclosed= true ;this.print({bUI: false,bSilent: false,bShrinkToFit: true,printParams:pp});");
这会将pdf javascript添加到生成的pdf中。。 一旦pdf显示在弹出页面上,它将执行静默打印。。希望这对将来的人有所帮助