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

  最新生成签章方案,添加了椭圆公章和下弦文,用起来更简单粗暴

  最新项目地址:https://github.com/niezhiliang/signature-utils

 

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

1.下面是第一个问题:

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

java-1.8/jre/lib/i386/libfontmanager.so: libgcc_s.so.1: java生成企业公章中文变框框解决_第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.第二个问题

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

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

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

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

 

 

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

查找路劲C:\Windows\Fonts 
java-1.8/jre/lib/i386/libfontmanager.so: libgcc_s.so.1: java生成企业公章中文变框框解决_第3张图片

本地是一个ttc文件,我们需要修改文件后缀,改为ttf。 
这里写图片描述

(2)将ttf文件导入到linux系统java的fonts包中。 
java-1.8/jre/lib/i386/libfontmanager.so: libgcc_s.so.1: java生成企业公章中文变框框解决_第4张图片 
注:路径是你Linux系统java安装的文件,根据你的安装目录查询

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

 

which java

 

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

(3)重启java或者tomcat生效

  最后效果图:

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

贴上生产签章部分的代码吧:https://github.com/niezhiliang/signature-utils

 

 

 

 

 


 

你可能感兴趣的:(java,linux,shell,libgcc.i686)