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

  引言:这两天在开发一个动态生成海报的东西(图片拼接,图片水印),开发在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. android 总结(样式)—跑马灯 button的点击效果 RadioGroup 实现滑动的效果 button 下面有阴影 卡片样式

    <Button android:layout_width="wrap_content" android:layout_height="wrap_content&qu ...

  2. candence 知识积累1

    Allegro 总结: 1.防焊层(Solder Mask):又称绿油层,PCB非布线层,用于制成丝网印板,将不需要焊接的地方涂上防焊剂.在防焊层上预留的焊盘大小要比实际的焊盘大一些,其差值一般为10 ...

  3. java.lang.ClassNotFoundException: com.*.listener.ConfigInfoReader

    包的问题,删除掉了buildPath的包,再加上一个需要用的,问题搞定...不知道是为什么

  4. 快速排序C++

    /* * quick_sort.cpp * * Created on: 2016-3-21 * Author: Lv_Lang */ //快速排序 #include <iostream> ...

  5. ssential Diagram for Windows FormsC#/winForm类似visio的拓扑图节点连线控件免费下载

    Essential Diagram for Windows Forms是一款可扩展的.高性能的.NET平台下的拓扑图控件,可用于开发像Microsoft Visio一样的交互式地绘图和图解应用程序,在 ...

  6. Android 学习第6课,循环功能

    package ch02; public class jiujiuchengfa { public static void main(String[] args) { // TODO 自动生成的方法存 ...

  7. ng-repeat指令中使用track by子语句解决重复数据遍历的错误

    用ng-repeat指令遍历一个javascript数组,当数组中有重复元素的时候,angularjs会报错,这是因为ng-Repeat不允许collection中存在两个相同Id的对象. 对于数字或 ...

  8. 多媒体视频(video)

    <video> 是 HTML 5 中的新标签.<video> 标签的作用是在 HTML 页面中嵌入视频元素.<video> 标签定义视频,比如电影片段或其他视频流. ...

  9. python语言switch-case

    初学python语言,竟然很久才发现python没有switch-case语句,查看官方文档说是可以用if-elseif-elseif....代替. 讲真,这都不是问题.不就是一个条件判断吗.用if- ...

  10. POJ 1990 MooFest(树状数组)

                                                                        MooFest Time Limit: 1000MS   Mem ...