Java 如何在DynamicReports和JasperReports中获得相同的样式
我想为dynamicReports和jasperReports找到相同样式的最佳解决方案。我开始使用dynamicReports,但是我发现很难在那里创建不寻常的报告。在iReport graphical builder中执行此操作要容易得多。现在我有50%的报告在Dynamic上运行,50%在Jasper上运行 现在我无法解决风格问题。我在Template类中创建了样式、字体等,并将其用于DynamicReports。经过一些魔术之后,比如:Java 如何在DynamicReports和JasperReports中获得相同的样式,java,jasper-reports,dynamic-reports,Java,Jasper Reports,Dynamic Reports,我想为dynamicReports和jasperReports找到相同样式的最佳解决方案。我开始使用dynamicReports,但是我发现很难在那里创建不寻常的报告。在iReport graphical builder中执行此操作要容易得多。现在我有50%的报告在Dynamic上运行,50%在Jasper上运行 现在我无法解决风格问题。我在Template类中创建了样式、字体等,并将其用于DynamicReports。经过一些魔术之后,比如: .setName("cellCenterStyle
.setName("cellCenterStyle");
template().setColumnStyle(cellStyle)
我可以将它们用于jasper,但这不是一个完整的解决方案,因为有些选项仍然不起作用,例如:
.setDetailEvenRowStyle(Template.evenIntensivStyle)
正在使用dynamic,但jasper忽略了它
因此,问题是:
我可以用同样的风格来表现动感和碧玉,结构清晰,没有不必要的“魔力”我更喜欢像*.css styles这样的解决方案,但如果有任何帮助,我将不胜感激。使用参数引用样式文件的相对(或绝对)路径。例如,主报告可能包含:
这允许iReport(或Jaspersoft Studio)中的报表引用报表样式的相对路径,例如:
resources/styles/FontStyle.jrtx
此路径相对于报表的.jasper
文件位置
然后,在DynamicJasper中,您可以传入一个报告参数。DynamicJasper中的API调用可能与以下JasperReports库调用的API调用不匹配,但它应该足够相似,以便让大家了解这一点:
reportParameters.put("P_REPORT_BASE", "/home/user/dev/reports/workspace");
JasperFillManager.fillReport(..., reportParameters, dataSource);
假设/home/user/dev/reports/workspace
是.jasper
文件的位置以及iReport/Jaspersoft Studio的工作区位置,则DynamicJasper和报表开发环境都将查找并使用相同的样式文件
在本例中,样式文件的完整路径为:
/home/user/dev/reports/workspace/resources/styles/FontStyle.jrtx
当然,您的目录路径会有所不同
此时,您可以在两种环境中引用相同的样式。另见:
这允许iReport(或Jaspersoft Studio)中的报表引用报表样式的相对路径,例如:
resources/styles/FontStyle.jrtx
此路径相对于报表的.jasper
文件位置
然后,在DynamicJasper中,您可以传入一个报告参数。DynamicJasper中的API调用可能与以下JasperReports库调用的API调用不匹配,但它应该足够相似,以便让大家了解这一点:
reportParameters.put("P_REPORT_BASE", "/home/user/dev/reports/workspace");
JasperFillManager.fillReport(..., reportParameters, dataSource);
假设/home/user/dev/reports/workspace
是.jasper
文件的位置以及iReport/Jaspersoft Studio的工作区位置,则DynamicJasper和报表开发环境都将查找并使用相同的样式文件
在本例中,样式文件的完整路径为:
/home/user/dev/reports/workspace/resources/styles/FontStyle.jrtx
当然,您的目录路径会有所不同
此时,您可以在两种环境中引用相同的样式。另见: