Ubuntu 安装 LibreOffice

1. 删除预安装的LibreOffice

Ubuntu 和其他的 Linux 发行版带有预安装的 LibreOffice。这可能不是最新的,这是因为发行版有特定的发行周期。在进行新安装之前,你可以通过以下命令删除 Ubuntu 及其衍生发行版中的的旧版本。

sudo apt remove –purge libreoffice*
sudo apt autoclean
sudo apt autoremove

然后重启以确保一切正常(尽管你也可以跳过这一步)。

2.下载

去官网下载地址下载软件包,并通过从下拉菜单中选择类型下载 “最新的” 版本。对于 Ubuntu 和其他衍生产品,请选择 .deb 文件。
在这里插入图片描述
下载下来是个压缩包,解压一下(我是windows上下载,解压好又拖到ubuntu上去的,你可以直接wget 下载到ubuntu解压)
在这里插入图片描述
再解压一层
在这里插入图片描述
到下面这一层就可以了
在这里插入图片描述

看一下里面目录结构
在这里插入图片描述
红框里面是要安装的.deb 安装包
在这里插入图片描述
把 LibreOffice_7.6.7.2_Linux_x86-64_deb 整个文件夹拖到ubuntu 上准备安装
在这里插入图片描述

3.安装

安装主安装程序的所有deb包

# 目录啥的改成自己的哈
sudo dpkg -i ./LibreOffice_7.6.7.2_Linux_x86-64_deb/DEBS/*.deb

在这里插入图片描述

还可以安装中文离线帮助文件中的所有deb包,哈哈,我没装所以后面转的中文pdf乱码了,不过后面用其他方法弄好了

# 这一步可以跳过也可以自己研究
# 安装中文语言包中的所有deb包 */
#sudo dpkg -i ./LibreOffice_4.x.x_Linux_x86_deb_langpack_zh-CN/DEBS/*.deb
#安装中文离线帮助文件中的所有deb包
#sudo dpkg -i ./LibreOffice_4.x.x_Linux_x86_deb_helppack_zh-CN/DEBS/*.deb

4. 测试

linux 命令改成自己安装的版本,我的是7.6

libreoffice7.6 -help

在这里插入图片描述
这样就是装好了
!!!!!然而我没一次就装好,依次遇到了如下问题:

4.1 报错:/opt/libreoffice7.6/program/oosplash: error while loading shared libraries: libXinerama.so.1: cannot open shared object file: No such file or directory

程序无法加载名为libXinerama.so.1的共享库。这通常意味着系统缺少这个库或者该库没有被正确安装。
libXinerama是一个用于X Window系统的库,它用于处理多屏幕和全屏模式。

sudo apt-get update
sudo apt-get install libxinerama1

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

libcairo.so.2这个共享库文件无法找到。
Libcairo是一个用于创建二维矢量图形的库,是许多图形库(如GTK,Pango,rsvg等)的依赖项。

#确认libcairo.so.2是否存在于你的系统中
locate libcairo.so.2
#如果系统中没有libcairo.so.2,可能需要安装或重新安装libcairo。
sudo apt-get update
sudo apt-get install --reinstall libcairo2
#如果libcairo.so.2已经存在于你的系统中,那么可能是环境变量LD_LIBRARY_PATH没有设置正确。你需要将libcairo.so.2所在的目录添加到LD_LIBRARY_PATH中:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/your/libcairo.so.2
#这里的/path/to/your/libcairo.so.2应该替换为libcairo.so.2文件的实际路径。你可以使用locate命令找到这个路径

4.3 no suitable windowing system found, exiting.

apt-get install libxt6
# 检查LibreOffice是否可以正常工作,不能则继续后续步骤
apt-get install libxrender1

4.4 Warning: failed to launch javaldx - java may not function correctly

sudo apt install openjdk-11-jre-headless

还不行的话那可能是缺少ibreoffice-java-common :

sudo apt install libreoffice-java-common

4.5 测试下命令行能否正确运行

libreoffice7.6 --headless --convert-to pdf:writer_pdf_Export test.docx --outdir pdf_test/

可以用了,哈哈哈!!!

5. 高兴太早了,中文乱码!!!

由于 linux 默认没有安装中文字体,所以导出有中文的文件会导致中文乱码。这里此次安装中文字体。

5.1 查看是否安装中文字体

# 显示为空表示没有安装中文字体, :前面有空格,后面没空格
fc-list :lang=zh

没有安装的话会提示安装:

apt install fontconfig

安装完再试一下:

# 显示为空表示没有安装中文字体, :前面有空格,后面没空格
fc-list :lang=zh

5.2 准备字体

可以从本地 windows 电脑中拷贝出字体文件,拷贝的目录为 C:\Windows\Fonts,找到 中文 文件:
在这里插入图片描述

5.3 导入字体

把上面那一堆中文字体文件放到 ubuntu /usr/share/fonts 目录下
然后进去该文件夹

cd /usr/share/fonts
ls

然后就看到好多后缀 .TTC 的文件
在这里插入图片描述

建立字体缓存信息
apt install xfonts-utils -y
mkfontscale
mkfontdir
fc-cache -fv# 命令执行成功后终端最后一行会显示 fc-cache: succeeded
验证
fc-list :lang=zh

在这里插入图片描述
成了
再试下docx转pdf

libreoffice7.6 --headless --convert-to pdf:writer_pdf_Export test.docx --outdir pdf_test/

中文乱码没有了,太不容易了…


参考:
如何在 Ubuntu 中安装最新的 LibreOffice | Linux 中国
Linux 下的安装方法
官网7.6.6软件包
linux环境基于python语言docx转pdf
Libreoffice命令行实现office转pdf(Windows、Linux)
使用 LibreOffice 实现 Word 转 PDF(这个比较详细)
LibreOffice官网
记录libreoffice实现office转pdf(适用于windows、linux)
LibreOffice使用问题记录
在Ubuntu中打开LibreOffice报错:Warning: failed to launch javaldx - java may not function correctly
[Solved] Java problem, Libreoffice cannot find java and DirsyncPro also not
libreoffice - 命令 libreoffice --headless --convert-to pdf test.docx --outdir/pdf 不工作
stackoverflow: command-libreoffice-headless-convert-to-pdf-test-docx-outdir-pdf-is-not
使用 LibreOffice 将 word 转化为 pdf 并解决中文乱码问题

官方英文文档
官方中文文档

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

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

相关文章

vs code怎么补全路径,怎么快捷输入文件路径

安装插件: 链接:https://marketplace.visualstudio.com/items?itemNamejakob101.RelativePath 使用 按住 Ctrl Shift H,弹出窗口,输入文件补全,回车就可以了 排除文件 如果你的项目下文件太多,它会…

基础—SQL—图形化界面工具的DataGrip使用(2)

一、回顾与引言 (1) 上次内容,博客讲到了DDL语句的数据库操作、表操作、表字段的操作的相关语法,然而之前都是在MySQL的命令行当中去操作演示的。这种方式可以用,但是使用的话,第一,在我们日常…

【系统架构师】-论文-自动化运维管理在项目中的应用

2024年上半年软考系统架构师-论文2,自动化运维管理 摘要 随着软件系统的复杂性和规模的不断增加,传统的手工运维方式已无法满足高效稳定的运维需求。自动化运维管理作为现代软件架构中的重要组成部分,通过自动化的手段实现系统的部署、监控…

华为交换机、路由器开局(基础配置及远程登录)

一、开局配置目的 新采购的设备,上架安装入网使用。使用仿真工具,通过Console口登录,进行设备管理。需要基础配置,如:管理IP地址、远程管理(管理口、telnet、SSH华为又称Stelnet),包括不限于设备名称、提示…

在jetson nano中安装jetson.inference模块

jetson.inference 是 NVIDIA Jetson 平台的一部分,用于运行深度学习推理。确保你的开发环境是 NVIDIA Jetson 设备,然后按照官方文档进行安装:https://github.com/dusty-nv/jetson-inference jetson-inference 不是通过 pip 安装的常规 Pyth…

代码随想录算法训练营第四十一天| 509. 斐波那契数 、70. 爬楼梯 、746. 使用最小花费爬楼梯

509. 斐波那契数 题目链接:509. 斐波那契数 文档讲解:代码随想录/斐波那契数 视频讲解:视频讲解-斐波那契数 状态:已完成(1遍) 解题过程 看到题目的第一想法 虽然看了卡哥的动态规划五部曲,…

编译原理 期末复习笔记整理(上)

资料借鉴: 【编译原理】期末复习 零基础自学_哔哩哔哩_bilibili 编译原理笔记 第一章 引论 1.编译原理逻辑过程: 词法分析 语法分析 语义分析 中间代码生成 编译代码生成 2.词法分析 任务: 输入源程序,对…

解决 fatal: Not a git repository (or any of the parent directories): .git 问题

解决方法:在命令行 输入 git init 然后回车就好了

人机协同中的可解释性与不可解释性

在人机协同中,实现可解释性与不可解释性(可接受的)的恰当结合是一种最佳途径。这意味着在某些情况下,人工智能系统的决策和输出可能无法完全解释或理解,但仍然是可接受的,因为它们在特定的情境下是有效的和…

全面解析Java.lang.ClassCastException异常

全面解析Java.lang.ClassCastException异常 全面解析Java.lang.ClassCastException异常:解决方案与最佳实践 🚀📚摘要引言1. 什么是Java.lang.ClassCastException?代码示例 2. 报错原因2.1 类型不兼容2.2 泛型类型擦除2.3 接口和实…

02 FreeRTOS 任务

1、创建任务函数 1.1 动态内存的使用 在之前我们如果要创建一个与学生有关的任务,我们会定义: //打印50个学生的信息 char name[50][100]; int age[50]; int sex[50]; //1表示男,0表示女 int score[50]; 如果之后要对其进行修改会非常麻烦&…

使用稀疏约束水平集算法对MR图像中的脑肿瘤进行分割| 文献速递-深度学习肿瘤自动分割

Title 题目 Brain tumor segmentation in MR images using a sparse constrained level set algorithm 使用稀疏约束水平集算法对MR图像中的脑肿瘤进行分割" 01 文献速递介绍 脑磁共振(MR)成像是成像患者脑结构的主要方法,从MR图像…

最后7天,高考翻盘秘籍等你开启!

高考,这场关乎未来的考试,对于每一个学生来说都是一次严峻的挑战。随着倒计时的进行,无数考生和家长的焦虑和期待达到了顶点。在这个最后7天的关键时期,我们为即将参加高考的学生及其家长提供一份复习秘籍,帮助你们抓住…

rfid资产管理系统如何帮助医院管理耗材的

RFID资产管理系统可以帮助医院管理耗材,提高耗材管理的效率和准确性。以下是它可以发挥作用的几个方面: 1. 实时跟踪和定位:使用RFID标签附加在耗材上,可以实时跟踪和定位耗材的位置。医院可以通过系统查询耗材的实时位置&#xf…

03JAVA基础(方法/类/封装(构造方法))

目录 1.方法 1.1 方法的定义 1.2 方法的重载 2.类和对象 3.封装 1. private关键字 2. this关键字 3. 封装 4. 构造方法 1.方法 含义: 将具有独立功能的代码块组织成一个整体,具有特殊功能的代码集 注意: 方法必须先创建才可以使用,需要手动调用执行 1.1 方法的定义 格…

微服务八股-分布式事务-注册中心-服务保护

一、分布式事务 1.CAP和BASE 三者不能同时存在。 CP:由于网络分片的存在,如果要保证强一致性就不能写,此时不满足可用性 AP:由于网络分片的存在,如果要保证可用性,能读也能写,就不能保证强一致…

软件测试面试题(七)

一:测试执行过程的三个阶段 《1》初测期 测试主要功能和关键的执行路径,排除主要障碍 《2》细测期 依据测试计划和测试大纲、测试用例,逐一测试大大小小的功能、方方面面的特性、性能、用户界面、兼容性、可用性等等&a…

Nginx R31 doc-14-Dynamic Denylisting of IP Addresses 动态拒绝IP地址

前言 大家好,我是老马。很高兴遇到你。 我们为 java 开发者实现了 java 版本的 nginx https://github.com/houbb/nginx4j 如果你想知道 servlet 如何处理的,可以参考我的另一个项目: 手写从零实现简易版 tomcat minicat 手写 nginx 系列 …

【讲解下Web前端三大主流的框架】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

Vue3 的 setup 生命周期函数中为什么不能使用 this ?

Vue3 的 setup 生命周期函数中为什么不能使用 this ? 官方解释:在 setup() 内部,this 不会是该活跃实例的引用,因为 setup() 是在解析其它组件选项之前被调用的,所以 setup() 内部的 this 的行为与其它选项中的 this 完…