Redmine 甘特图导出 PDF 和 PNG 中文乱码问题
Redmine使用了RMagick来处理图片,fpdf处理PDF,并在调用时设定了字体
PDF中文字体
redmine 中关于PDF字体设置的代码
case pdf_encoding
          when 'UTF-8'   
            @font_for_content = 'FreeSans'  
            @font_for_footer  = 'FreeSans'  
          when 'CP949'   
            extend(PDF_Korean)              
            AddUHCFont() 
            @font_for_content = 'UHC'       
            @font_for_footer  = 'UHC'       
          when 'CP932', 'SJIS', 'SHIFT_JIS'
            extend(PDF_Japanese)            
            AddSJISFont()
            @font_for_content = 'SJIS'      
            @font_for_footer  = 'SJIS'      
          when 'GB18030' 
            extend(PDF_Chinese)             
            AddGBFont()  
            @font_for_content = 'GB'        
            @font_for_footer  = 'GB'        
          when 'BIG5'    
            extend(PDF_Chinese)             
            AddBig5Font()
            @font_for_content = 'Big5'      
            @font_for_footer  = 'Big5'      
          else
            @font_for_content = 'Arial'     
            @font_for_footer  = 'Helvetica' 
          end
在中文时,Redmine 使用了GB字体,在debian or Ubuntu系统中,可使用APT安装
apt-get install ttf-arphic-bkai00mp ttf-arphic-bsmi00lp ttf-arphic-gbsn00lp ttf-arphic-gbsn00lp
参考 http://isis.poly.edu/~qiming/chinese-debian-mini-howto.html
图片中文问题(PNG)
图片中文也是类似的原理,下面是Redmine config/configuration.yml 中的内容
# This setting is not necessary in non CJK.                                                                                            
#
# Examples for Japanese: 
#   Windows:             
#     rmagick_font_path: C:\windows\fonts\msgothic.ttc                                                                                 
#   Linux:               
#     rmagick_font_path: /usr/share/fonts/ipa-mincho/ipam.ttf                                                                          
#
rmagick_font_path:
1>创建目录 /usr/share/fonts/truetype/arphic/
2> 下载gbsn00lp.ttf.gz
cd /tmp
wget http://down1.chinaunix.net/distfiles/gbsn00lp.ttf.gz
gunzip gbsn00lp.ttf.gz
cp /tmp/gbsn00lp.ttf /usr/share/fonts/truetype/arphic/
3>修改这段代码,设定适当的中文字体路径即可,如:
rmagick_font_path: /usr/share/fonts/truetype/arphic/gbsn00lp.ttf
重新启动服务器,现在中文导出应当正常了。
本文使用的Redmine版本为 3.3.0
Redmine 甘特图导出 PDF 和 PNG 中文乱码问题的更多相关文章
- jquery插件导出excel和pdf(解决中文乱码问题)
		
参考文件:http://jackyrong.iteye.com/blog/2169683 https://my.oschina.net/aruan/blog/418980 https://segmen ...
 - Jupyter Notebook 导出PDF与Latex中文支持
		
Jupyter Notebook 最近搞机器学习用到了Jupyter Notebook. 作为一个实时记事本,有时需要将内容导出为PDF. 但是,Jupyter Notebook自带的File -&g ...
 - 【原创】JavaFx程序解决Jupyter Notebook导出PDF不显示中文
		
0.ATTENTION!!! JavaFx里是通过Java调用控制台执行的的jupyter和xelatex指令, 这些个指令需要在本地安装Jupyter和MikTeX之后才能正常在电脑上运行 1.[问 ...
 - php导出pdf,dompdf中文字体乱码解决办法(特别是代码迁移引起的乱码)
		
dompdf\lib\fonts\dompdf_font_family_cache.php记住这个文件里面存放的是字体生成的缓存,迁移时如果覆盖了这个文件会导致乱码而且很难找到出错的地方,相信我... ...
 - tcpdf导出pdf数据支持中文的解决方案
		
步骤如下:1.确保你测试tcpdf能正常输出英文内容的pdf2.测试输入中文内容后显示是?的乱码或者空白分析原因,是因为我们输入的中文,tcpdf字体库并不支持,因此乱码或者空白显示 添加一个合适的字 ...
 - Project导入RedMine甘特图展示
		
前端时间因公司业务需要使用RedMine来管理项目进度. 但是使用其自带的csv导入工具无法完成导入. 而我是java开发,并不会所谓的ruby语言,自然无法在段时间内完成此导入功能的修改. so,经 ...
 - java转pdf(html转为pdf),解决中文乱码,标签不规范等问题
		
第一步,下载jar包以及建对应的文件夹.注意pd4ml的jar要选择pro版本.然后建一个pd4fonts.properties 里面对应的字体. SimSun = simsun.ttf 前面为变量名 ...
 - R语言输出pdf时,中文乱码处理
		
本文转载自:https://blog.csdn.net/hongweigg/article/details/47907555 1.使用基础包,使用函数pdf()输出 在使用pdf()函数时,要输出中文 ...
 - php7 数据导出Excel office 2011中文乱码问题
		
public function test(){ $data = array( array( 'name' => '对对对', 'score' => 80, 'grade' => '急 ...
 
随机推荐
- 如何制作一个类似jquery插件的vue插件
			
vue拿来写插件,会不会太那啥? 请跟我念,"不会,符合业务需求才是你的老板最想要的." 如何封装一个可以全局调用的vue插件 其原理其实相当简单,通过new Vue(vueCom ...
 - 【例题 4-5 uva 512】Spreadsheet Tracking
			
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 每个操作对与一个点来说变化是固定的. 因此可以不用对整个数组进行操作. 对于每个询问,遍历所有的操作.对输入的(x,y)进行相应的变 ...
 - netsh wlan set hostednetwork 之后如何删除掉 配置  及终端无法获取IP的解决方法
			
来源 微软 技术支持网站 仅仅禁用hostednetwork 是不行的,配置其实还在,彻底删除 配置可以按照如下操作进行: net stop wlansvcGet-ItemProperty " ...
 - 非form表单提交的数据就要用@requestbody注解获取http传过来的值,尤其json
			
非form表单提交的数据就要用@requestbody注解获取http传过来的值,尤其json
 - bootstrap checkbox
			
在使用bootstrap库中的checkboxlistrow时,我想要依据checkbox是否至少选中了一个选项来确定页面的跳转,即须要在js中操作checkbox.这样就存在一个问题,一般的chec ...
 - poj2135(简单的最小费用流问题)
			
题目链接:http://poj.org/problem?id=2135 Farm Tour Time Limit: 1000MS Memory Limit: 65536K Total Submis ...
 - 使用enca进行字符集转码
			
在linux进行开发与运维的时候,我们常常遇到字符编码的问题,系统字符设置.vimrc fileencoding设置.终端设置往往搞的晕头转向,当一个文件出现乱码的时候,我们通常不能识别它是什么编码的 ...
 - spring中使用HibernateTemplate或HibernateDaoSupport报类型转换错误
			
使用spring的HibernateDaoSupport的时候.报错例如以下: java.lang.ClassCastException: java.lang.String cannot be cas ...
 - Hadoop-2.2.0中文文档——Apache Hadoop 下一代 MapReduce (YARN)
			
MapReduce在hadoop-0.23中已经经历了一次全然彻底地大修.就是如今我们叫的MapReduce 2.0 (MRv2) or YARN. MRv2的基本思想是把JobTracker分成两个 ...
 - luogu3376 【模板】 网络最大流
			
题目大意 给出一个网络图,以及其源点和汇点,求出其网络最大流. 概念 可以把网络图看作管道,节点看作管道的交界处.流就像是管道里的流水.管道有个容量(相当于横截面积),还会有个流量(相当于水流占了管道 ...