gpt4 book ai didi

java - 碧 Jade 报告 : how to customize JasperViewer so that it could only export in one format?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:18:08 27 4
gpt4 key购买 nike

我们的客户很喜欢 Jasper 查看器,但我们遇到了问题。它将数据导出为多种不同的格式(PDF、Excel、CSV、HTML 等),但我们的客户只想导出为 PDF。

我们如何自定义 Jasper Viewer,以便我们的用户可以选择导出数据的唯一格式是 PDF?

最佳答案

我找到了一个解决方案,在我看来这很糟糕,但对我的情况很有效。

嗯:阅读 JasperViewer 类的源代码,我发现该类上有一个名为 viewer 的 protected 字段。

所以,我所要做的就是编写如下代码:

Field jrViewerField;
try {
jrViewerField = viewer.getClass().getDeclaredField("viewer");

jrViewerField.setAccessible(true);
JRViewer jrViewer = (JRViewer) jrViewerField.get(viewer);
List<JRSaveContributor> savers = new ArrayList<JRSaveContributor>();
for (JRSaveContributor sc : jrViewer.getSaveContributors()) {

savers.add(sc);

}

for (JRSaveContributor sc : savers) {
if (! sc.getClass().getName().toLowerCase().contains("pdf")) {
jrViewer.removeSaveContributor(sc);
}
}


} catch (Exception ex) {
ex.printStackTrace();
}

这不是一个完美的解决方案,但至少它适用于 3.7.1 版的 Jasper Reports。它没有可以与其他版本的系统一起使用的保证,所以我强烈建议任何人使用这个解决方案,除非这是你最后的资源。

关于java - 碧 Jade 报告 : how to customize JasperViewer so that it could only export in one format?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2586579/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com