Jasper报告将字体大小问题导出为pdf

 太阳之神sqh 发布于 2023-01-12 16:36

我正在使用Jaspersoft Studio 5.6.

它在"设计"视图中的Jaspersoft Studio中正确显示.在预览视图中,它也正确显示(使用java或pdf).
当我从Java应用程序执行报告时,三个文本以相同的大小显示.

我注意到Bold和Italic工作正常,但是如果我改变字体(DejaVu,Arial,Times new roman等)也会被忽略.在我的应用程序生成的报告中,我总是得到相同的字体.

什么失败了?我忘记了任何配置选项吗?

该示例混合静态字段和文本字段以进行测试.

编辑:

似乎我发现了一个"解决方案"(具有副作用).

我正在生成这样的报告:

JasperRunManager.runReportToPdfStream(stream, outStream, params, datasource);

现在,以这种方式生成文本的大小在生成的pdf中是正确的:

JasperReport jasperReport = JasperCompileManager.compileReport("my/report.jrxml");
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, params, datasource);
JasperExportManager.exportReportToPdfStream(jasperPrint, outStream);

但字体类型不正确.

我认为,副作用是JasperRunManager.runReportToPdfStream不会将报告加载到内存JasperFillManager.fillReport中.

有什么想法JasperRunManager.runReportToPdfStream忽略字体大小?

有关为什么另一种方式忽略字体类型的任何想法?JSS和我的java应用程序都在同一台Windows机器上(因此两者都必须使用这些字体).

有什么建议避免将整个报告加载到内存中吗?



    
        
    
    
        
            
                
                    
                
                
                    
                
                
            
            
                
                
                    
                
                
            
            
                
                    
                    
                
                
                    
                
                
            
        
    

小智.. 8

问题是在使用5.6.0版编译时.

这可以通过使用5.5.1版进行编译来解决

我希望他们能解决这个问题!

2 个回答
  • 问题是在使用5.6.0版编译时.

    这可以通过使用5.5.1版进行编译来解决

    我希望他们能解决这个问题!

    2023-01-12 16:38 回答
  • 我也有这个问题。您需要做的是在Java Web应用程序中升级jasperreport jar。例如,如果使用iReport 5.6.0设计报告,则将jasperreport.jar升级到6.2.1。

    2023-01-12 16:40 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有