Redmine之报表应用研究

本文探讨了Redmine的报表功能,包括报表输出在Issue和Gant界面的应用,以及不同语言环境下PDF报表中文显示的差异。通过代码分析,指出PDF输出依赖于`current_language`和`general_pdf_encoding`,中文乱码问题源于字符集转换和字体设置。研究发现,即使强制设置`current_language`,`ISO-8859-1`编码仍导致中文乱码,而`gb18030`编码则能正常显示。
摘要由CSDN通过智能技术生成

近来将RedMine的源代码下下来进行研究,主要目的是研究它的Report功能是如何实现的

目前研究结果总结为几点:

1)Remine界面上支持PDF,CSV,HTML输出,但没有单独的报表运行中心,只有在Issue及Gant界面有报表输出功能

2)新建两个用户a和b,a用户在创建时默认语言选择“English”,b用户选择"Chinese(Simple)",进行报表打印时发现第一个用户打印出来的PDF报表中文显示为乱码,第二个用户打印的PDF报表中文显示正常

 

对于以上两点,进行了代码跟踪,得出了以下结论

1)报表输出的代码写在IssuesController,关键代码如下:

 

代码中很清晰看到CSV、PDF 的输出调用的是 issues_to_csv,issues_to_pdf(Gant界面的报表调用的是gant_to_pdf)

从名字可猜测Redmine中的报表打印并不通用,只是针对特定的报表进行了固定的输出处理

 

issue_to_pdf,issues_to_pdf,gant_to_pdf都包含在pdf.rb中,代码如下:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值