您的位置:首页 > 编程语言 > Java开发

java-1.8/jre/lib/i386/libfontmanager.so: libgcc_s.so.1: java生成企业公章中文变框框解决

2018-01-25 16:11 253 查看
   最近公司在做电子合同的项目,需要用到生成企业公章图片这方面的东西,然后我就负责了这块的东西,开始在网上到处找资料,不久就把生成公章的图片搞出来了,在本地测试没有任何问题,发到服务器上问题就各种出现啦。

1.下面是第一个问题:

/alidata/server/java-1.8/jre/lib/i386/libfontmanager.so: libgcc_s.so.1: 无法打开共享对象文件: 没有那个文件或目录



当时出现就傻眼了,以为代码哪里错了,后面网上找找才找到答案是:

在debian下安装lib32gcc1包,问题解决。问题原因是,一般os安装的是64位的,所以缺省是装libgcc这个包。但java一般还是会用32位的包,因此就会存在上面的问题(系统提供的libgcc_s.so.1是64位的,不是java启动需要的32位的),安装一个32位的就好了。

解决代码:

 在终端敲这行代码,把需要的安装包给下过来

sudo yum install libgcc.i686 --setopt=protected_multilib=false有必要说明一下:如果你的服务器之前就装了libgcc.x86_64  的话,就会报一个
  Multilib version problems found. This often means that the root

      cause is something else and multilib version checking is just

      pointing out that there is a problem. 

 这个是原因是因为多个库不能共存,不过更新的话也并不行,但是可以在安装命令后面加上

--setopt=protected_multilib=false下完以后,重启java项目,你会发现不再报之前的那个错误啦,而且图片也给你生成了,然而问题又出现啦。
2.第二个问题

    是公章上面的字全给你换成了框框



然后又在网上找资料,知道我们生产签章使用的字体是宋体,然而服务器并不支持这个字体,所以就给你用框框代替啦。

解决方法就是给服务器添加这个字体:这里就直接把被人的博客直接端过来了

1)查找Windows系统(本地)的文字包

查找路劲C:\Windows\Fonts 



本地是一个ttc文件,我们需要修改文件后缀,改为ttf。 



(2)将ttf文件导入到linux系统java的fonts包中。 


 
注:路径是你Linux系统java安装的文件,根据你的安装目录查询

注意:查看java的安装路径方法:

which java





   我的字体路径是:/alidata/server/java/jre/lib/fonts

(3)重启java或者tomcat生效

  最后效果图:

 




贴上生产签章部分的代码吧:https://github.com/niezhiliang/generateseal
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐