在linux下离线安装libreoffice

在linux下离线安装libreoffice

  • 安装jdk
  • 安装libreoffice

libreoffice需要在有jdk的环境下运行,所以我们第一步需要安装jdk

安装jdk

  1. 下载Linux环境下的jdk1.8压缩包
    jdk官方下载地址

  2. 解压对应压缩包
    一般放在/usr/local/
    [root@localhost local]# tar -zxvf jdk-8u181-linux-x64.tar.gz

  3. 配置jdk环境变量
    [root@localhost local]# vim /etc/profile
    添加变量内容

     export JAVA_HOME=/usr/local/jdk1.8.0_181  #jdk安装目录
    
     export JRE_HOME=${JAVA_HOME}/jre
    
     export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
    
     export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
    
     export PATH=$PATH:${JAVA_PATH}
    
  4. 使配置生效并且测试
    使环境配置立即生效 [root@localhost local]# source /etc/profile
    查看是否安装成功 [root@localhost local]# java -version

安装libreoffice

  1. 当安装好了jdk之后就可以安装libreoffice了
  2. 首先在官网下载对应的压缩包:libreoffice压缩包下载链接
  3. 解压压缩包 tar -zxvf LibreOffice_7.1.8_Linux_x86-64_rpm.tar.gz(我直接放到opt下解压)
  4. cd到解压的包中的RPMS目录下进行下载: yum localinstall *.rpm
  5. 安装成功后查看能否正确运行:
    /opt/libreoffice7.1/program/soffice --headless --accept="  socket,host=127.0.0.1,port=8100;urp;"- -nofirststartwizard &
    
  6. 此时可能报错:/opt/libreoffice7.1/program/soffice.bin: error while loading shared libraries: libSM.so.6: cannot open shared object file: No such file or directory
    这是因为缺少了libSM.so.6包
  7. 根据对应的系统下载libSM.so.6包:libSM.so.6压缩包下载地址
  8. 把包放到系统上直接安装:yum localinstall libSM-1.2.3-1.el8.x86_64.rpm
    此时就可以正常运行了。
  9. 添加到环境变量:vim /etc/profile
    末行加:
    	export LibreOffice_PATH=/opt/libreoffice6.2/program
    	export PATH=$LibreOffice_PATH:$PATH
    
    刷新配置:
    source /etc/profile
    
    最后再测试下:
    soffice --headless --convert-to pdf /root/test.xlsx --outdir /root/ 
    
    成功生成了pdf,但是pdf中中文变成了方框。
  10. 这时可能是因为系统中没有对应的中文字体,此时查看字体以及安装字体。
    使用fc-list :lang=zh查询中文字体,发现没有中文字体
    然后安装yum install -y fontconfig mkfontscale
    从windows中拷贝一些微软雅黑的字体复制到 /usr/share/fonts中
    执行以下命令:
    mkfontscale
    mkfontdir
    fc-cache -fv
    
    然后再查看中文字体发现中文可以正常显示了。

但是excel一行的内容如果比较多的话,转换的pdf会自动换行,目前没有找到解决方案。

你可能感兴趣的:(linux,服务器,运维)