标签: dynamic-reports

使用JasperReports API从bean异常中获取错误检索字段值

我正在尝试获取JasperReports生成的示例报告,但它抛出了一些我无法理解的异常.

我有一个豆子:

class DataBean {

    public String country;
    public String name;

    public String getCountry() {
        return country;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}
Run Code Online (Sandbox Code Playgroud)

产生上述bean列表的类:

class DataBeanList {
    public ArrayList<DataBean> getDataBeanList() {
        ArrayList<DataBean> dataBeanList = new ArrayList<DataBean>();
        dataBeanList.add(produce("Manisha", "India"));
        dataBeanList.add(produce("Dennis Ritchie", "USA"));
        dataBeanList.add(produce("V.Anand", "India"));
        dataBeanList.add(produce("Shrinath", "California"));
        return dataBeanList;
    }

    private DataBean produce(String name, String country) {
        DataBean dataBean …
Run Code Online (Sandbox Code Playgroud)

java jasper-reports dynamic-reports

6
推荐指数
1
解决办法
2万
查看次数

java.awt.FontFormatException:bad table,tag = 1196445523表示什么?

我已经按照这个链接向我的jasper报告项目中添加了字体,但是在尝试构建报告时我得到了这个异常,这个异常意味着什么?我找不到任何解决方案.请注意我正在尝试添加 Ubuntu-LI字体

17:26:35-218 -  - raysis.rohani.rg.report.builder.ReportBuilder.show(120) - error in showing the jasper report (called from ReportBuilder)
net.sf.jasperreports.engine.JRRuntimeException: java.awt.FontFormatException: bad table, tag=1196445523
    at net.sf.jasperreports.engine.fonts.SimpleFontFace.<init>(SimpleFontFace.java:104)
    at net.sf.jasperreports.engine.fonts.SimpleFontFace.<init>(SimpleFontFace.java:128)
    at net.sf.jasperreports.engine.fonts.SimpleFontFace.getInstance(SimpleFontFace.java:67)
    at net.sf.jasperreports.engine.fonts.SimpleFontFamily.setNormal(SimpleFontFamily.java:99)
    at net.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.parseFontFamily(SimpleFontExtensionHelper.java:261)
    at net.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.parseFontFamilies(SimpleFontExtensionHelper.java:232)
    at net.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.loadFontFamilies(SimpleFontExtensionHelper.java:193)
    at net.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.loadFontFamilies(SimpleFontExtensionHelper.java:162)
    at net.sf.jasperreports.engine.fonts.FontExtensionsRegistry.getExtensions(FontExtensionsRegistry.java:56)
    at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.getExtensions(DefaultExtensionsRegistry.java:110)
    at net.sf.jasperreports.engine.DefaultJasperReportsContext.getExtensions(DefaultJasperReportsContext.java:246)
    at net.sf.jasperreports.engine.fonts.FontUtil.getFontInfo(FontUtil.java:185)
    at net.sf.jasperreports.engine.fonts.FontUtil.getAwtFontFromBundles(FontUtil.java:245)
    at net.sf.dynamicreports.design.transformation.StyleResolver.getFont(StyleResolver.java:96)
    at net.sf.dynamicreports.design.transformation.StyleResolver.getFont(StyleResolver.java:71)
    at net.sf.dynamicreports.design.transformation.StyleResolver.getFontHeight(StyleResolver.java:52)
    at net.sf.dynamicreports.design.transformation.TemplateTransform.getTextFieldHeight(TemplateTransform.java:967)
    at net.sf.dynamicreports.design.transformation.ComponentTransform.textField(ComponentTransform.java:332)
    at net.sf.dynamicreports.design.transformation.ComponentTransform.component(ComponentTransform.java:152)
    at net.sf.dynamicreports.design.transformation.ComponentTransform.list(ComponentTransform.java:285)
    at net.sf.dynamicreports.design.transformation.BandTransform.band(BandTransform.java:184)
    at net.sf.dynamicreports.design.transformation.BandTransform.transform(BandTransform.java:74)
    at net.sf.dynamicreports.design.base.DRDesignReport.transform(DRDesignReport.java:135)
    at net.sf.dynamicreports.design.base.DRDesignReport.<init>(DRDesignReport.java:107)
    at net.sf.dynamicreports.design.base.DRDesignReport.<init>(DRDesignReport.java:99)
    at net.sf.dynamicreports.jasper.builder.JasperReportBuilder.toJasperReportDesign(JasperReportBuilder.java:261)
    at net.sf.dynamicreports.jasper.builder.JasperReportBuilder.getJasperParameters(JasperReportBuilder.java:288)
    at net.sf.dynamicreports.jasper.builder.JasperReportBuilder.toJasperPrint(JasperReportBuilder.java:299) …
Run Code Online (Sandbox Code Playgroud)

java fonts jasper-reports dynamic-reports

5
推荐指数
2
解决办法
3039
查看次数

使用动态报告时,印地语字体在pdf中显示不正确

文字有一些?字符.在生成pdf时,PDF生成成功但印地语字符不是即将出现的问题.我们正在使用动态报告.使用的字体是Arial Unicode MS,PDF编码是"Identity-H".

下面是使用的代码snipett

FontBuilder defaultFont = stl.font()
.setFontName("Arial Unicode MS")
.setPdfEncoding("Identity-H");

JasperPdfExporterBuilder pdfExporter =export.pdfExporter(filePath)
.setEncrypted(report.isPasswordProtected())
                            .setUserPassword(report.getPassword()).setCharacterEncoding("UTF-8");
concatenatedReport().concatenate(jrBuilder, reportBuilder).continuousPageNumbering().toPdf(pdfExporter);
Run Code Online (Sandbox Code Playgroud)

如果有人可以帮我这个,请告诉我.

java pdf jasper-reports dynamic-reports hindi

5
推荐指数
0
解决办法
632
查看次数

创建docx word文档Web API .NET Core 2.0

我正在Asp.net core 2.0中开发一个Web API项目。我需要一种库或创建Word文档的方法。我搜索了尝试过的NPOI和DocX。两者都不如预期。谁能推荐我一个工具?

c# report dynamic-reports .net-core asp.net-core-2.0

4
推荐指数
1
解决办法
3214
查看次数

创建没有数据源的动态报表,并将数据放入详细信息区域以及页脚和页眉

我正在使用JasperReportBuilder并将报告导出为PDF.报告的全部内容由MultiPageListBuilder,Horizo​​ntalListBuilderVerticalListBuilder生成,我不想传递数据源,因为数据来自各种数据源.我想利用页面页脚和页眉来添加到每页的静态页眉和页脚以及页码.如果我尝试使用addDetail(componentBuilder)方法添加 MultiPageListBuilder在*详情&乐队(因为这MultiPageListBuilder包含多个页面数据),空白报表生成.如果我在TitleSummary band中添加MultiPageListBuilder,则报告生成完美,但Page HeaderPage Footer band消失.

示例代码段如下

JasperReportBuilder rpt = net.sf.dynamicreports.report.builder.DynamicReports.report();
MultiPageListBuilder multiPageList = cmp.multiPageList();
HorizontalListBuilder hrbld = cmp.horizontalList();

try {    
    rpt.addTitle(cmp.text("REPORT TITLE"));
    rpt.addTitle(cmp.text("--------------"));

    rpt.addPageHeader(cmp.pageXofY());

    for (int i = 0; i < 200; i++) {
        hrbld = cmp.horizontalList();
        hrbld.add(cmp.text("ABC " + i)).newRow();
        multiPageList.add(hrbld);
    }

    rpt.addDetail(multiPageList);

    rpt.summaryOnANewPage();
    rpt.addSummary(cmp.text("REPORT SUMMARY"));

    JasperPdfExporterBuilder pdfExporter = Exporters.pdfExporter("report.pdf");
    rpt.toPdf(pdfExporter);
    File file = new …
Run Code Online (Sandbox Code Playgroud)

java jasper-reports dynamic-reports

4
推荐指数
1
解决办法
3123
查看次数

使用FileOutputStream创建UTF-8 PDF文件

我正在使用JasperReports和DynamicReports与这段java代码创建一个pdf格式的报告,其中包含utf-8字符,生成的问题pdf文件根本不包含utf-8字符,如果它们已被替换为" ".使用OutputStream创建utf-8文件时,我应该注意什么?

    public void toPdf(String path){
        OutputStream outHtml;
        try {
            outHtml = new FileOutputStream(path);

            jasperBuilder.toPdf(outHtml);
        } catch (Exception e1) {
            logger.error("failed to create PDF", e1);
        }
}
Run Code Online (Sandbox Code Playgroud)

这可能是值得注意的是,创建XLS和HTML文件不会面临这样的问题.

请注意,jasperBuilder.toPdf(outHtml);我已经跟踪了很多代码行,并且没有在这些行中我的utf-8字符被删除.所以我猜魔鬼在outHtml = new FileOutputStream(path);

java outputstream jasper-reports utf-8 dynamic-reports

4
推荐指数
1
解决办法
3190
查看次数