当前位置: 代码迷 >> 综合 >> java-1.8/jre/lib/i386/libfontmanager.so: libgcc_s.so.1: java生成企业公章中文变框框解决
  详细解决方案

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

热度:1   发布时间:2023-12-05 18:02:31.0

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

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

 

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

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的安装路径方法:

 

<span style="color:#333333">which java</span>

 

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

(3)重启java或者tomcat生效

  最后效果图:

 

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

 

 

 

 

 


 

  相关解决方案