Tag: jasper reports

带有spring MVC的JasperReport:在客户端打印报告而不显示它

我正在开发一个Spring MVC – Angularjs应用程序。 我需要打印报告,我选择了JasperReport来做到这一点。 在我继续之前,我想知道我是否可以生成报告,然后将其直接打印在客户端计算机上设置的默认打印机(可根据用户更改的打印机) 上 , 而不在屏幕上显示。 我一直在寻找这个特定需求的答案,但找不到任何答案。 如果有人知道它…. 生成报告并打印它的来源: HashMap params = new HashMap(); params.put(“Title”, “My Report”); InputStream reportStream = this.getClass().getResourceAsStream(TEMPLATE); JasperDesign jd = JRXmlLoader.load(reportStream); JasperReport jr = JasperCompileManager.compileReport(jd); JasperPrint jp = JasperFillManager.fillReport(jr, params, datasource.getDataSource()); JasperPrintManager.printReport(jp, false);

如何动态删除ireport中的列

我正在使用ireport设计jasper报告。 我希望有一个可以根据用户输入动态生成的报告。 意味着可以根据用户输入添加/删除列。 我知道的一个解决方案是设计包含所有列的报告,然后根据用户输入,使用“Print When Expression”可以隐藏列,但空列仍然存在。 有没有办法完全删除列而不留下ireport中的空白空间。

JasperReports导出到excel auto size列

我有JRXlsExporter的问题。 自动调整属性无法正常工作。 这是我的jrxml: Java代码: excelExporter.setParameter(JRXlsExporterParameter.JASPER_PRINT, jasperPrint); excelExporter.setParameter(JRXlsExporterParameter.OUTPUT_STREAM, outputStream); excelExporter.setParameter(JRXlsExporterParameter.MAXIMUM_ROWS_PER_SHEET, 65536); excelExporter.setParameter(JRXlsExporterParameter.IS_IGNORE_CELL_BORDER, Boolean.FALSE); excelExporter.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND, Boolean.FALSE); excelExporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE); excelExporter.setParameter(JRXlsExporterParameter.IS_COLLAPSE_ROW_SPAN, Boolean.TRUE); excelExporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_COLUMNS, Boolean.TRUE); excelExporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.FALSE); excelExporter.setParameter(JRXlsExporterParameter.IS_DETECT_CELL_TYPE, Boolean.TRUE); excelExporter.setParameter(JRXlsExporterParameter.IS_IMAGE_BORDER_FIX_ENABLED, Boolean.TRUE); excelExporter.setParameter(JRXlsExporterParameter.IS_IGNORE_GRAPHICS, Boolean.FALSE); 并输出结果: resultFile 。 例如,第一列必须是“客户编号”而不是“客户编号”

JasperReports具有不同内容的多页报告

我正在评估JasperReport和iReport,要求是可以生成多页报告,其中每个页面都包含不同的报告。 例: 第1页包含客户的实际发票 第2页包含客户的发票清单 第3页包含按年份列出的发票金额 第4页只包含固定文本(比如操作员说明……) 是否可以创建这样一个独特的报告,而不是创建四个独立报告,然后合并pdfs。 非常感谢。 弗朗切斯科

如何从已编译的.jasper文件创建JasperReport对象?

我编译了报告( .jasper文件)。 我需要从该对象获取一些信息(例如报告名称)。 怎么做 ? 如果我可以创建JasperReport对象,我可以在其上调用getName()方法,但我不知道如何。

取“new java.util.Date()”并在1个月之前完成

我正在使用jaspersoft的iReport,我想将new java.util.Date() (这是当前日期)转换为该日期之前的1个月。 我在文本字段表达式中写什么来实现这一点?

Jasper在导出时报告OutOfMemoryError

我编写了一个用于管理和运行Jasper报告的Web应用程序。 最近我一直在处理一些生成极大(1500页以上)输出的报告,并尝试解决由此产生的内存问题。 我发现了JRFileVirtualizer ,它允许我以非常有限的内存占用成功运行报表。 但是,我的应用程序的一个function是它存储以前运行的报告中的输出文件,并允许它们导出为各种格式(PDF,CSV等)。 因此,我发现自己处于500 + MB .jrprint文件的状态,并希望将其导出为例如CSV按需。 这是一些简化的示例代码: JRCsvExporter exporter = new JRCsvExporter(); exporter.setParameter(JRExporterParameter.INPUT_FILE_NAME, jrprintPath); exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, outputStream); exporter.exportReport(); 不幸的是,当我在我提到的大文件上尝试这个时,我得到一个OutOfMemoryError : Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded at java.io.ObjectInputStream$HandleTable.grow(ObjectInputStream.java:3421) at java.io.ObjectInputStream$HandleTable.assign(ObjectInputStream.java:3227) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1744) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) at java.util.ArrayList.readObject(ArrayList.java:593) at sun.reflect.GeneratedMethodAccessor184.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753) at […]

字体“Arial”不可用于JVM

我正在开发一个使用Jasperreports的Java项目。 我在其他项目中使用相同的技术多次工作,在尝试在Unix环境中打印报告时遇到了同样的问题。 我的项目使用: JBoss 4.2.3.GA Java 1.6 Jasperreports 4.7.0 抛出的exception是: net.sf.jasperreports.engine.util.JRFontNotFoundException: Font ‘Arial’ is not available to the JVM. See the Javadoc for more details. 我找到了一个解决这个问题的通用解决方案,并且确实有效: sudo apt-get install msttcorefonts 但是,我想了解Jasper如何使用字体,以及如何搜索Unix环境中安装的字体。 也许更好的问题是:JVM如何处理原生字体? 谁能给我一个关于这个主题的详细解释? 系统字体如何在运行时为JVM提供?

查看Jasper报告执行的SQL

运行在报表文件(.jrxml)中嵌入SQL的Jasper报表时,是否可以看到执行的SQL? 理想情况下,我还希望看到替换每个$ P {}占位符的值。 干杯, 唐

如何从Web应用程序打印到收据打印机?

我的客户要求我从我的网络应用程序打印Epson TM U220( http://pos.epson.com/products/TM-U220.htm )上的收据。 我不知道该怎么做。 是否有任何java小程序或其他我可用于打印的东西? 我应该使用JasperReports吗? (JasperReports是否有助于解决这个问题?)如果有可以使用的Flash应用程序,我不反对使用它。 我正在使用Grails作为我的网络应用程序。