我已经开发了JasperReports
用于报告目的的Web应用程序。为此,我必须使用Applet在客户端查看报告。我通常可以在applet中看到报表,但是当涉及到打印时(当我单击Viewer中的“打印”按钮时),它将引发一个异常,该异常可以在Java
Console中看到。我浏览了很多有关此问题的内容,并做了网上专家建议的一切。我将用作网站服务器时,在catalina.policy
文件中添加了授予权限Tomcat
。此外,还向我的applet添加了授予权限,作为java.policy
文件中的代码库。我签署了jar文件,该文件具有Applet的类文件。但是我仍然遇到同样的错误。
下面是来自Java控制台的堆栈跟踪。
Java Plug-in 1.6.0_24
Using JRE version 1.6.0_24-b07 Java HotSpot(TM) Client VM
User home directory = C:\Documents and Settings\Administrator
Exception in thread "Thread-13" java.lang.ExceptionInInitializerError
at net.sf.jasperreports.view.JRViewer$21.run(JRViewer.java:1211)
at java.lang.Thread.run(Unknown Source)
Caused by: java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.print)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPackageAccess(Unknown Source)
at sun.plugin2.applet.Applet2SecurityManager.checkPackageAccess(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at net.sf.jasperreports.engine.JasperPrintManager.<clinit>(JasperPrintManager.java:419)
... 2 more
为了允许小程序打印,您需要在小程序上签名:
签名和验证JAR文件
签署小程序
问题内容: Java Applet能否轻松将文本/ html打印到标准打印机驱动程序(在所有常见平台Win / Mac / Linux上)? 是否需要签名? 问题答案: 要进行打印,您将需要使用“ 签名的小程序”,或者如果尝试打印未签名的小程序,系统将提示用户询问是否允许权限。 以下是一些使用JEditorPane打印HTML的示例代码: 然后将其发送到打印机:
问题内容: 我是JasperReports的新手,发现自己迷失了它。我在JSF中有一个webapp,我想用它来打印PDF。我已经建立了报告,并且能够成功地编译并使用我的所有参数填充它。但是,我不了解实际的输出部分。我希望它以PDF格式发送到打印机。我根本不在乎在屏幕上看到它,直接到打印机是理想的选择(从服务器是理想的选择,但是客户端也可以,因为我们可以根据需要设置客户端进行打印(这是一个内部应用程
我们希望打印到连接在apache运行的POS打印机上。由于应用程序的设计和部署,打印应该从服务器上完成(它应该检测订单并发送到不同的打印机和不同格式的打印...账单,厨房订单,等等...)。出于这个原因和其他原因(例如,从iPad访问应用程序),我们放弃了像QZ-Print applet这样的选项,并需要直接在服务器端打印。 提前谢了。
问题内容: 我正在为具有内置行式打印机的Android设备开发应用程序。我必须与此打印机进行交互,并使用它来打印收据上的详细信息,然后使用裁纸器自动剪切该收据。我已经在其中看到了一些ESC命令,但是我不知道如何执行这些ESC命令。 关于Casio设备打印机,我有三个主要问题: 1.我已经使用了内置打印机的打印代码,但是打印后切纸刀没有激活 2.我不知道如何在android中将ESC命令发送到打印机
问题内容: 我有一个HTML报告,由于列很多,因此需要横向打印。是否有一种方法可以执行此操作,而无需用户更改文档设置? 在浏览器中有哪些选择。 问题答案: 在CSS中,您可以设置@page属性,如下所示。 @page是CSS 2.1规范的一部分,但是问题的答案并未突出显示@page{size:landscape}是否已过时?: CSS 2.1不再指定size属性。CSS3 Paged Media模
我想从web浏览器的Brother标签打印机打印标签。我知道DYMO有一个JavaScript框架,可以使从浏览器打印变得简单。但我有一个兄弟标签打印机的客户,所以我需要使它工作。 我一直在做一些测试和搜索,令人惊讶的是,关于这个主题的信息如此之少。 到目前为止,我唯一成功使用的浏览器是谷歌Chrome,因为它似乎不打印页眉和页脚。我已经安装了打印机/驱动程序,并创建了尺寸为62 x 29mm的自