centos7部署libreoffice7.5

news/2025/1/21 10:19:00/文章来源:https://www.cnblogs.com/ggborn-001/p/18513283

安装包下载地址:https://downloadarchive.documentfoundation.org/libreoffice/old/7.5.0.1/rpm/x86_64/

 分别是

LibreOffice_7.5.0.1_Linux_x86-64_rpm.tar.gz      # libreoffice安装包LibreOffice_7.5.0.1_Linux_x86-64_rpm_langpack_zh-CN.tar.gz          # 中文包LibreOffice_7.5.0.1_Linux_x86-64_rpm_helppack_zh-CN.tar.gz          # 中文支持包

  按上面安装包的顺序解压,然后逐个安装解压出来的离线包

rpm -ivh *.rpm

  安装完之后检验一下

[root@localhost ~]# libreoffice7.5 -version
Warning: -version is deprecated.  Use --version instead.
LibreOffice 7.5.0.1 77cd3d7ad4445740a0c6cf977992dafd8ebad8df

  这样就表示安装好了。但实际上可能不会那么顺利。可能出现以下报错:

/opt/libreoffice7.5/program/soffice.bin: error while loading shared libraries: libcairo.so.2: cannot open shared object file: No such file or directory
...

我这边安装下面三个包就可以了

yum install libXinerama
yum install cairo
yum install ibus

  到这里libreoffice服务就安装好了

我们上传一个xlsx格式的表格文件转pdf测试以下功能

[root@localhost ~]# libreoffice7.5 --headless --convert-to pdf dhzy20241025171133543.xlsx
convert /root/dhzy20241025171133543.xlsx -> /root/dhzy20241025171133543.pdf using filter : calc_pdf_Export

  生成了一个同名但是后缀不同的文件dhzy20241025171133543.pdf

在Windows上打开发现乱码,中文不能被正确展示。

 解决:

在Windows上找到对应的字体,传到服务器上

 

在服务器上新建字体存放目录

mkdir /usr/share/fonts/chinese# 上传字体文件之后
[root@localhost ~]# ll /usr/share/fonts/chinese
total 35176
-rwxr-xr-x. 1 root root 18008680 Jul 12  2023 SIMSUN.TTC
-rwxr-xr-x. 1 root root 18008680 Jul 12  2023 SIMSUN.TTC.0# 赋权
chmod -R 755 /usr/share/fonts/chinese# 添加字体加载路径
vi /etc/fonts/fonts.conf
...
<!-- Font directory list --><dir>/usr/share/fonts</dir><dir>/usr/share/X11/fonts/Type1</dir> <dir>/usr/share/X11/fonts/TTF</dir> <dir>/usr/local/share/fonts</dir><dir prefix="xdg">fonts</dir><dir>/usr/share/fonts/chinese</dir>     # 加这一段<!-- the following element will be removed in the future --><dir>~/.fonts</dir><!--
...# 保存退出之后,执行以下命令刷新新字体缓存
fc-cache

  检验字体是否生效

[root@localhost ~]# fc-list :lang=zh
/usr/share/fonts/chinese/SIMSUN.TTC: SimSun,宋体:style=Regular,常规
/usr/share/fonts/chinese/SIMSUN.TTC: NSimSun,新宋体:style=Regular,常规
/usr/share/fonts/chinese/SIMSUN.TTC.0: SimSun,宋体:style=Regular,常规
/usr/share/fonts/chinese/SIMSUN.TTC.0: NSimSun,新宋体:style=Regular,常规

  最后再执行libreoffice命令转换文件格式,查看文件内容

 ok 看起来没问题了。

我们这个服务需主要还是暴露给后端程序调用,并不是直接在命令行操作。而是要对外暴露

/opt/libreoffice7.5/program/soffice --headless --accept="socket,host=0.0.0.0,port=8100;urp;" --nofirststartwizard &
[1] 3097
[root@localhost program]# netstat -tunlp| grep 8100
tcp        0      0 0.0.0.0:8100            0.0.0.0:*               LISTEN      3120/soffice.bin 

  命令解释

- `--headless`:以无头模式运行 LibreOffice,不会打开任何图形用户界面。这通常用于服务器环境或自动化任务。
- `--accept="socket,host=0.0.0.0,port=8100;urp;"`:设置 LibreOffice 作为 UNO 服务器运行,监听来自所有 IP 地址(`0.0.0.0`)在 `8100` 端口的连接。这样其他设备可以通过网络与 LibreOffice 进行交互。
- `--nofirststartwizard`:跳过首次启动向导,使得 LibreOffice 在启动时不会弹出任何设置窗口,适合于自动化环境。
- `&`:将命令放在后台运行,这样你可以继续在命令行中执行其他操作。

综合来看,这个命令适合于在服务器上运行 LibreOffice 以进行文档处理、转换等自动化操作,而不需要用户界面干扰。

 

 

 

参考连接:

https://blog.csdn.net/xc_zhou/article/details/137695479

https://www.timeblog.cn/article/167.html

https://blog.csdn.net/u011924665/article/details/133211819

  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/823706.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Shooter Game User Interface Starter

为射击游戏开发者提供了一套完整的 Unity UI 布局屏幕和预制件,旨在加速游戏界面的开发过程。射击游戏用户界面工具包 这个工具包为射击游戏开发者提供了一套完整的 Unity UI 布局屏幕和预制件,旨在加速游戏界面的开发过程。以下是工具包的核心特性: 屏幕布局:包含 9 个完整…

Java 中的类型推断是如何工作的?_2

在Java中,类型推断是编译时进行的过程,它可以自动推导出表达式的类型、减少代码冗余及增强可读性。Java的类型推断通过以下方式工作:自动推导泛型参数类型、省略冗余类型信息、简化Lambda表达式的编写。特别是在Java 8及以后的版本中,类型推断的特性得到了极大加强。单独展…

080 组件自定义事件-绑定

原则:给谁绑定的事件,就去找谁触发

2 湍流

2 湍流 背景 湍流是具有广泛涡旋尺寸谱和相应波动频率谱的涡旋运动。 湍流具有如下特征:旋转、间歇性(intermittent)、高度无序性、扩散性(diffusive)、耗散性(dissipative)。 湍流可用纳维-斯托克斯动量方程描述。 最大的涡旋(低频波动)的形式通常由边界决定,最小涡…

AI 居然说我是牛马,还画出了我牛马的一生,我绷不住了...

今天真是服了,AI 居然敢嘲笑我是牛马,还直接甩了张大图到我脸上。看来我的人生在 AI 眼中就是个笑话,从 “初级牛马” 一路升级到 “资深牛马”。真是谢谢你啊,AI 老师! 但等等,这剧本还没完!AI 显然觉得光嘲笑我不够过瘾,还要顺带 diss 我的朋友,说他是吗喽。哦,原来…

spring下 -spring整体架构,JdbcTemplate笔记

2,搭建Java Maven项目 我的idea是2024.1.1版本,创建普通Maven项目如下图: 用的jdk8,项目名可以自己改,Archetype选图中的第一个就行,之后点 create。 创建后空的Maven项目的代码结构就是下图 再修改 pom.xml文件<project xmlns="http://maven.apache.org/POM/…

‍♀️概念问题:module chunk bundle的区别

module:模块,各个源码文件。 比如说src下面的index.js就是模块,而在其中引用的一切都是模块。上面lodash啦,别的文件啦(math.js),css文件啦,图片啦。可以引用的都是模块。chunk: 多模块合并成的,比如entry里面可以定义;import(),splitChunk比如上面的index.html不一定…

如何在Linux中配置防火墙

在Linux中配置防火墙的步骤:1.使用iptables配置防火墙;2.使用Firewalld配置防火墙;3.配置其他防火墙选项。iptables是一个用于管理IPv4防火墙规则的工具,使用iptables配置防火墙的基本步骤:检查防火墙状态、允许或拒绝流量、保存规则。1.使用iptables配置防火墙 iptables是…

异常处理汇总-JavaMendixSparkSQLetc...

1. MyBatis映射问题 执行计算过程中出现错误,错误消息:Mapped Statements collection does not contain value for... 问题原因: configure.xml文件中未配置对应路径。 2. java: Annotation processing is not supported for module cycles. Please ensure that all modules…

例7.4

#程序文件ex7_4.py import numpy as np from scipy.interpolate import interp1d from scipy.interpolate import lagrange import pylab as plta = np.loadtxt(data7_4.txt) x0 = a[0]; y0 = a[1] x = np.linspace(0,15,151) yx1 = interp1d(x0, y0) #分段线性插值 y1 = yx1(…

AR眼镜和VR眼镜的最大区别是什么

AR眼镜和VR眼镜在技术和应用上都有显著的区别。最根本的区别是:AR眼镜在真实世界的基础上增加或叠加虚拟信息,保持用户与现实世界的连接;而VR眼镜则完全沉浸在一个虚拟环境中,与真实世界隔离。这种基本差异为两者的应用、功能和用户体验带来了深远的影响。1.体验的根本区别…

.NET云原生应用实践(四):基于Keycloak的认证与授权AL

合集 - .NET云原生应用实践(4)1..NET云原生应用实践(二):Sticker微服务RESTful API的实现10-132..NET云原生应用实践(一):从搭建项目框架结构开始10-093..NET云原生应用实践(三):连接到PostgreSQL数据库10-224..NET云原生应用实践(四):基于Keycloak的认证与授权10-…