版权声明:本文为楼主原创文章,未经楼主允许不得转载,如要转载请注明来源。

  引言:这两天在开发一个动态生成海报的东西(图片拼接,图片水印),开发在windows下没有问题,图片和文字都能正常的生成出来。但是当我将程序发布到服务器上(linux)时,发现生成的海报图片文字没生成出来。楼主使用的是graphics.drawString("张三", chunkWidth, chunkHeight);这里graphics使用的字体楼主设置的是宋体。而BufferedImage在内存创建的图像调用的是服务器端的字体。而程序所在的linux服务器没有装该字体,所以就出现了文字没生成出来的问题。下面讲怎样在linux服务器下添加字体。

这里我将本机的宋体安装到linux服务器上。

首先得找到宋体的文件,很简单:我们打开c盘,搜索simsun.ttc,然后将该文件copy一份。或者自己网上去下载也行。

楼主试了两种方法:

1.在java环境中添加字体

首先进入到服务器使用的jre目录,一般都是在:usr/lib/jvm/java-6-sun/jre/lib/fonts

使用的命令就是 cd usr/lib/jvm/java-1.8.0/jre/lib/fonts.

注意:这里的java-1.8.0可能和你的不一样,按你自己的名称进入。如果进去之后没有fonts文件夹,就自己创建一个,命令是  mkdir fonts

进入之后,将simsun.ttc文件copy到该目录下即可。(可以使用文件服务器放上去,你也可以使用linux的cp命令)

然后重启服务器就ok

2.添加系统字体

首先需要将simsun.ttc放到服务器上,可以建一个目录,楼主建的目录为:fonts

进入到该目录,将simsun.ttc放在该目录下,然后开始执行以下命令:

[root@localhost fonts]# mkfontscale
[root@localhost fonts]# mkfontdir
[root@localhost fonts]# fc-cache
这样在重启服务器就ok了。
                                

linux服务器下添加字体的更多相关文章

  1. LINUX系统下添加映射存储LUN

    LINUX系统下添加映射存储LUN(无需重启) 背景:Oracle rac环境 添加新实例,重新划分存储空间,从存储映射新的LUN. 问题:映射后,linux操作系统无法识别新的LUN,不能重启系统, ...

  2. 用linux服务器下的/dev/shm/来释放磁盘的压力

    巧用linux服务器下的/dev/shm/来释放磁盘的压力 浏览:646 | 更新:2013-06-18 18:08 | 标签: 磁盘 tmpfs是Linux/Unix系统上的一种基于内存的文件系统. ...

  3. Linux服务器下对Oracle作Rman备份

    由于工作需要,最近要对几台Linux系统下的Oracle数据库进行Rman备份,就在操作的同时,整理了一下,方便今后作为资料进行查阅. ------------------------Linux服务器 ...

  4. 在linux服务器新添加硬盘,如何识别、挂载。

    在linux服务器新添加硬盘,如何识别.怎样挂载磁盘.过程是怎么样. fdisk - manipulate disk partition tablemkfs - build a Linux files ...

  5. 在linux服务器下日志提取的python脚本(实现输入开始时间和结束时间打包该时间段内的文件)

    1.需求:近期在提取linux服务器下的日志文件时总是需要人工去找某个时间段内的日志文件,很是枯燥乏味,于是乎,我就想着用python结合linux指令来写一个日志提取的脚本,于是就有了以下脚本文件: ...

  6. Linux 服务器下多网卡的负载均衡

    Linux 服务器下多网卡负载均衡的实现   一.引言    现今几乎各行各业内部都建立了自己的服务器,由于服务器的特殊地位,它的可靠性.可用性及其 I/O 速度就显得非常的重要, 保持服务器的高可用 ...

  7. Linux环境下中文字体乱码处理办法

    项目中包含了一项生成JPG图片的功能,该功能需要使用JAVA的Graphics2D动态生成图片中的文字,原来在Windows平台中没有发现问题,但是迁移至Linux平台后发现生成的中文变成了乱码. 百 ...

  8. Linux环境下添加ftp账号步骤

    (1)远程登录Linux服务器所用的工具,免费开源,可以从网站上很容易就下载到. (2)打开putty,输入服务器IP,进入后按提示进入用户名和密码输入超级管理员 root,然后系统让输入密码,注意此 ...

  9. linux系统下添加新硬盘的方法详解

    对于linux新手来说,在linux上添加新硬盘,是很有挑战性的一项工作. 在Linux服务器上把硬盘接好,启动linux,以root登陆. fdisk -l ## 这里是查看目前系统上有几块硬盘 D ...

随机推荐

  1. 黑马程序员——OC语言Foundation框架 NSArray NSSet NSDictionary\NSMutableDictionary

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一) NSNumber 将各种基本数据类型包装成NSNumber对象 @ ...

  2. rails常用验证方法 (转)

    validates_presence_of       :login,  :message => "用户名不能为空!" validates_length_of         ...

  3. Qt msgBox 快捷版

    使用 int iRet = msgBox(pos, tr("警告") , tr("确定要删除当前选中的行吗?") , tr(, ); == iRet) retu ...

  4. What is Requirement ?

    The IEEE 610 standard defines a requirement as: (1). a condition or capability needed by a user to s ...

  5. mysql触发器使用

    触发器 简要 1.触发器基本概念 2.触发器语法及实战例子 3.before和after区别 一.触发器基本概念 1.一触即发 2.作用: 监视某种情况并触发某种操作 3.观察场景 一个电子商城: 商 ...

  6. Unity UGUI RectTransform图解

    UGUI RectTransform.Unity RectTransform详解 The first:look look API. http://docs.unity3d.com/ScriptRefe ...

  7. url 传参写法

    qianee-web/invite/123 @RequestMapping("/invite/{userId}") public ModelAndView invite(HttpS ...

  8. LintCode Balanced Binary Tree

    Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced binary ...

  9. uva674 Coin Change ——完全背包

    link:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  10. tomcat 清理日志

    clear_log.sh #!/bin/bash #clear tomcat logs #log size (1M bytes),if lt, clear LOG_FILE_SIZE=1024000 ...