首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >[1276]LibreOffice安装及使用

[1276]LibreOffice安装及使用

作者头像
周小董
发布于 2024-04-13 00:21:49
发布于 2024-04-13 00:21:49
2.9K08
代码可运行
举报
文章被收录于专栏:python前行者python前行者
运行总次数:8
代码可运行
文章目录

  • libreoffice简介
  • win安装
  • linux安装
    • yum安装
    • rpm包安装
  • libreoffice使用简介
    • 命令方式使用libre
    • python调用libre(使用于win环境)
    • 如何使用 Python 调用 LibreOffice API
      • 创建文件、保存为不同的格式、导出为PDF、并添加密码保护
    • Python调用LibreOffice转换文件

libreoffice简介

官网:https://zh-cn.libreoffice.org/download/libreoffice/ https://zh-cn.libreoffice.org/get-help/install-howto/

LibreOffice 是一款开放源代码的自由免费全能办公软件,可运行于 Microsoft Windows, GNU/Linux 以及 macOS 等操作系统上。它包含了 Writer, Calc, Impress, Draw, Math 以及 Base 等组件,可分别用于文本文档、电子表格、幻灯片演示文稿、绘图文档、数学公式编辑、数据库管理等工作。LibreOffice 支持各种文档格式。除了它原生支持的开放文档格式 (OpenDocument Format, ODF) 外,它还支持许多的非开放格式,比如微软的 Microsoft® Word, Excel, PowerPoint 以及 Publisher 的格式等。

LibreOffice和OpenOffice是两个开源办公软件套件,都是基于同一个代码库(原始的OpenOffice.org项目)开发的。在2010年,由于对OpenOffice.org的管理和发展方向不满意,一些开发者分离出了LibreOffice项目,成立了The Document Foundation(TDF)来管理该项目。因此,LibreOffice和OpenOffice之间存在很大的相似性和互相借鉴,但它们是由不同的组织和开发者团队维护和发展的。目前LibreOffice已经成为了开源办公软件领域的主要代表之一,而OpenOffice则已经逐渐退出了主流市场。

win安装

下载地址:https://zh-cn.libreoffice.org/download/libreoffice/

常规软件安装,一路下一步,可选择自定义安装路径,安装之后配置环境变量,D:\soft\LibreOffice\program,运行下面命令测试命令是否安装成功

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
C:\Users\admin>soffice --version
# 如果安装成功,会提示
LibreOffice 24.2.2.2 d56cc158d8a96260b836f100ef4b4ef25d6f1a01

Libreoffice测试

Libreoffice 在进行文档转换的过程中,转换出来的文档可能会出现乱码,所以需要在正式使用之前,把可能存在的乱码问题进行测试和解决。

创建一个中英文内容的.doc 文档,用如下命令将文档转成 PDF:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
soffice --headless --invisible --convert-to pdf example.doc

转换成功之后,会在当前目录下生成一个 example.pdf 的文件,然后打开转换后的PDF文件,查看文件中的中文是否存在乱码等。如果存在乱码,则朝以下两个方向去解决。

1、字符编码是否支持,比如 gbk 或者 utf-8 等 2、是否缺少相应的中文字体库。如 ubuntu 下,可以使用如下的方式进行安装:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
apt install ttf-wqy-zenhei
apt install fonts-wqy-microhei

linux安装

yum安装
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yum install -y libreoffice

版本验证

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@s178 opt]# libreoffice --version
or
soffice --version

卸载

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yum remove libreoffice*
rpm包安装

1、下载软件包 我们登录libreoffice官网,根据操作系统环境选择对应的软件包,我们需要下载主程序包、中文语言支持包、帮助手册软件包,将压缩包下载到/opt目录下。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@s178 opt]# wget https://download.documentfoundation.org/libreoffice/stable/7.5.4/rpm/x86_64/LibreOffice_7.5.4_Linux_x86-64_rpm.tar.gz
[root@s178 opt]# wget https://download.documentfoundation.org/libreoffice/stable/7.5.4/rpm/x86_64/LibreOffice_7.5.4_Linux_x86-64_rpm_langpack_zh-CN.tar.gz
[root@s178 opt]# wget https://download.documentfoundation.org/libreoffice/stable/7.5.4/rpm/x86_64/LibreOffice_7.5.4_Linux_x86-64_rpm_helppack_zh-CN.tar.gz
[root@s178 opt]# ll
total 233696
-rw-r–r–. 1 root root 3116300 Jun 2 21:37 LibreOffice_7.5.4_Linux_x86-64_rpm_helppack_zh-CN.tar.gz
-rw-r–r–. 1 root root 915283 Jun 2 21:37 LibreOffice_7.5.4_Linux_x86-64_rpm_langpack_zh-CN.tar.gz
-rw-r–r–. 1 root root 235265947 Jun 2 21:37 LibreOffice_7.5.4_Linux_x86-64_rpm.tar.gz

2、安装主程序软件包 将下载的主程序软件包解压后使用rpm方式安装,可以使用*.rpm通配符的方式安装RPMS目录下的所有RPM包。安装完成后就会生成/opt/libreoffice7.5/目录,就是libreoffice7.5软件的实际安装目录。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@s178 opt]# tar -zxvf LibreOffice_7.5.4_Linux_x86-64_rpm.tar.gz
[root@s178 opt]# cd LibreOffice_7.5.4.2_Linux_x86-64_rpm/RPMS/
[root@s178 RPMS]# rpm -ivh *.rpm
…
42:libreoffice7.5-freedesktop-menus-################################# [100%]
/bin/update-desktop-database
/bin/update-mime-database
/bin/gtk-update-icon-cache
/bin/update-desktop-database
/bin/update-desktop-database

或者使用yum install -y *.rpm安装;

3、安装中文语言包 安装中文语言包中的所有rpm包。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@s178 opt]# tar -zxvf LibreOffice_7.5.4_Linux_x86-64_rpm_langpack_zh-CN.tar.gz
[root@s178 opt]# cd LibreOffice_7.5.4.2_Linux_x86-64_rpm_langpack_zh-CN/RPMS/
[root@s178 RPMS]# rpm -ivh *.rpm
Preparing… ################################# [100%]
Updating / installing…
1:libobasis7.5-zh-CN-7.5.4.2-2 ################################# [ 50%]
2:libreoffice7.5-zh-CN-7.5.4.2-2 ################################# [100%]

4、安装中文离线帮助rpm包 安装中文离线帮助文件中的所有rpm包。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@s178 opt]# tar -zxvf LibreOffice_7.5.4_Linux_x86-64_rpm_helppack_zh-CN.tar.gz
[root@s178 opt]# cd LibreOffice_7.5.4.2_Linux_x86-64_rpm_helppack_zh-CN/RPMS/
[root@s178 RPMS]# rpm -ivh *.rpm
Preparing… ################################# [100%]
Updating / installing…
1:libobasis7.5-zh-CN-help-7.5.4.2-2################################# [100%]

5、版本验证

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@s178 RPMS]# libreoffice7.5 --version
LibreOffice 7.5.4.2 36ccfdc35048b057fd9854c757a8b67ec53977b6

可能遇到的问题

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 安装libcairo.so.2依赖库
[harry@iZ8vbbip4bq97z0o60rq3uZ office]$ sudo yum install ibus

# 安装字体
# 在CentOS7服务器上,利用LibreOffice将word等格式转换为PDF,发现不支持汉字。需要安装字体库
[harry@iZ8vbbip4bq97z0o60rq3uZ office]$ sudo yum -y install fontconfig
[harry@iZ8vbbip4bq97z0o60rq3uZ office]$ sudo yum -y install ttmkfdir
# 检查已有字体库
[harry@iZ8vbbip4bq97z0o60rq3uZ office]$ fc-list

# 安装libreoffice-headless
[harry@iZ8vbbip4bq97z0o60rq3uZ office]$ sudo yum install -y libreoffice-headless

# 检验是否安装完成
[harry@iZ8vbbip4bq97z0o60rq3uZ office]$ libreoffice7.3 --version
LibreOffice 7.3.5.2 184fe81b8c8c30d8b5082578aee2fed2ea847c01

# 测试一下
[harry@iZ8vbbip4bq97z0o60rq3uZ office]$ libreoffice --headless --convert-to pdf 1.doc
Error: source file could not be loaded

# 需要安装 libreoffice-writer
[harry@iZ8vbbip4bq97z0o60rq3uZ office]$ sudo yum install libreoffice-writer

# 附加安装
yum groupinstall "Fonts"
yum groupinstall "Input Methods"

libreoffice使用简介

  • 查看libreoffice命令
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@localhost pandoc_test]# which libreoffice
/bin/libreoffice
[root@localhost pandoc_test]# ll /bin/ |grep libre
-rwxr-xr-x. 1 root root        372 22 2021 libreoffice
lrwxrwxrwx. 1 root root         11 48 01:15 openoffice.org -> libreoffice
lrwxrwxrwx. 1 root root         38 48 01:15 soffice -> /usr/lib64/libreoffice/program/soffice
命令方式使用libre
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
soffice --headless --convert-to pdf test.doc

# 批量word转PDF
soffice --headless --convert-to pdf *.doc --outdir /tmp/test
  • python命令行方式,适用win和linux环境
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# -*- coding: utf-8 -*-
import subprocess
import os


def test_1():
    # win路径 方式1
    # source_file = 'D:\\soft\\pycharm\\PycharmCode\\zhs_pro\\dev_test\\llama_test\\data\\input\\test_2.docx'
    # outdir='D:\\soft\\pycharm\\PycharmCode\\zhs_pro\\dev_test\\llama_test\\data\\input'
    # win路径 方式2
    source_file = 'D:/soft/pycharm/PycharmCode/zhs_pro/dev_test/llama_test/data/input/test.epub'
    outdir = 'D:/soft/pycharm/PycharmCode/zhs_pro/dev_test/llama_test/data/input'
    # linux 路径
    source_file = '/home/zhou/zhs_pro/pandoc_test/data/input/test_2.docx'
    outdir = '/home/zhou/zhs_pro/pandoc_test'

    # 构建转换命令
    command = [
        'soffice',
        '--headless',
        '--invisible',
        '--convert-to', 'pdf',source_file,
        '--outdir', outdir  # 输出目录路径
    ]
    # 执行转换
    info=subprocess.run(command, check=True)
    print(info)

def test_2():
    import_file_name = "D:/soft/pycharm/PycharmCode/zhs_pro/dev_test/llama_test/data/input/test_2.docx"
    output_file_path = "D:/soft/pycharm/PycharmCode/zhs_pro/dev_test/llama_test/data/input"
    os.system("soffice --headless --convert-to pdf %s --outdir %s" % (import_file_name, output_file_path))


# test_1()
test_2()

这段代码会启动LibreOffice的无头服务模式来执行文档转换。--convert-to参数后面是目标文件格式,--outdir指定输出文件的存储位置。subprocess.run()用于执行命令,check=True确保如果转换过程中有错误,会抛出异常。

python调用libre(使用于win环境)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# -*- coding: utf-8 -*-
import win32com.client

# 调用程序
OO_ServiceManager = win32com.client.DispatchEx("com.sun.star.ServiceManager")
desktop = OO_ServiceManager.CreateInstance("com.sun.star.frame.Desktop")
OO_ServiceManager._FlagAsMethod("Bridge_GetStruct")


# 生成参数元祖
def createProp(name, value):
    prop = OO_ServiceManager.Bridge_GetStruct("com.sun.star.beans.PropertyValue")
    prop.Name = name
    prop.Value = value
    return prop


# 读取文档的参数
loading_properties = []
loading_properties.append(createProp("ReadOnly", True))  # 以只读方式打开
loading_properties.append(createProp("Hidden", True))  # 隐藏可视化界面,只是隐藏,还是加载了资源的
# filepath = "file:///%s" % r"C:/workSpace/python/word2pdf/test.docx"  # 绝对路径,注意反斜杠
filepath = "file:///%s" % r"D:/soft/pycharm/PycharmCode/zhs_pro/dev_test/llama_test/data/input/test_2.docx"  # 绝对路径,注意反斜杠

document = desktop.loadComponentFromUrl(filepath, "_blank", 0, tuple(loading_properties))
document.CurrentController.Frame.ContainerWindow.Visible = False  # 据说这样就不会加载可视化界面了,可是放在这个位置都已经加载完成了呀!先放着吧
# 转换为pdf的参数
pdf_properties = []
pdf_properties.append(createProp("FilterName", "writer_pdf_Export"))

newpath = filepath[:-len("docx")] + "pdf"  # pdf 保存路径和名称

try:
    document.storeToURL(newpath, pdf_properties)  # 转换输出
except Exception:
    raise
try:
    document.close(True)  # 关闭
except Exception:
    raise
如何使用 Python 调用 LibreOffice API

开启接口服务

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/bin/soffice --headless --accept="socket,host=127.0.0.1,port=8100;urp;" --nofirststartwizard &

查看端口服务

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
netstat -tnpl
创建文件、保存为不同的格式、导出为PDF、并添加密码保护

首先,从您的 LibreOffice 安装位置带参数运行 soffice.bin,如下(注意该命令会一直保持运行,可通过Ctrl+C结束运行):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ /opt/libreofficedev7.1/program/soffice.bin "--accept=socket,host=localhost,port=2002;urp;"

然后,将如下Python代码保存到某个位置,假设文件名为hello_world.py:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import uno
from com.sun.star.beans import PropertyValue

localContext = uno.getComponentContext()
resolver = localContext.ServiceManager.createInstanceWithContext(
    "com.sun.star.bridge.UnoUrlResolver", localContext)
ctx = resolver.resolve( "uno:socket,host=localhost,port=2002;urp;StarOffice.ComponentContext")
smgr = ctx.ServiceManager
desktop = smgr.createInstanceWithContext( "com.sun.star.frame.Desktop", ctx)

''' 1. 创建空白文档
'''

model = desktop.loadComponentFromURL("private:factory/swriter", "_blank", 0, ())
text = model.Text
cursor = text.createTextCursor()

# 参考:https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1text_1_1XSimpleText.html
text.insertString( cursor, "Hello World", 0)
text.insertControlCharacter(cursor, uno.getConstantByName("com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK"), 0)
text.insertString( cursor, "Hello World 2", 0)

''' 2. 通过 PropertyValue 之 FilterName 设置要保存的文档类型

若没有指定,则采用默认文档类型(不会根据文件名后缀判断)
PropertyValue的参数和属性,请参考:https://api.libreoffice.org/docs/idl/ref/structcom_1_1sun_1_1star_1_1beans_1_1PropertyValue.html

也可以通过这个选项来将文档导出为PDF或者图像。
完整的FilterName名称,可在LibreOffice源代码的 filter/source/config/fragments/filters 目录下找到。
比如:writer8.xcu中为 node oor:name="writer8",则ODF Text Document格式的API名称为 writer8
常见的:
    writer8.xcu            -> "writer8"
    writer_pdf_Export.xcu  -> "writer_pdf_Export"
    MS_Word_2007_XML.xcu   -> "MS Word 2007 XML"
'''
    
arg_odt = PropertyValue()
arg_odt.Name = "FilterName"
arg_odt.Value = "writer8"

arg_docx = PropertyValue()
arg_docx.Name = "FilterName"
arg_docx.Value = "MS Word 2007 XML"

arg_pdf = PropertyValue()
arg_pdf.Name = "FilterName"
arg_pdf.Value = "writer_pdf_Export"

''' 3. 通过 PropertyValue 设置其他保存选项
'''

# 比如,可以指定保存再打开后显示在文件 -> 属性中的文档标题:
arg_title = PropertyValue()
arg_title.Name = "DocumentTitle"
arg_title.Value = "Hello World"

# 再比如,可以给文档设置密码:
arg_pw = PropertyValue()
arg_pw.Name = "Password"
arg_pw.Value = "123456"

# 可以设置哪些PropertyValue,取决于你要将这些参数传递给谁。
# 如下面所示,我们需要传递给model.storeToURL。storeToURL可以接受的PropertyValue范围,请参考:
# https://api.libreoffice.org/docs/idl/ref/servicecom_1_1sun_1_1star_1_1document_1_1MediaDescriptor.html

''' 4. 保存文件
'''

# 首先需要将各个选项参数连接成一个 tuple.此处我们分四个不同的组合:
#    第一个用于保存为开放文档格式ODT,
#    第二个用于保存为微软的OOXML格式DOCX,
#    第三个用于导出为PDF,
#    第四个用于保存为带密码的开放文档格式ODT。
args_odt = (arg_odt, arg_title)
args_docx = (arg_docx, arg_title)
args_pdf = (arg_pdf, )
args_odt_protected = (arg_odt, arg_title, arg_pw)

# 文件的保存路径。注意是file:///形式的路径
file_path_odt = "file:///home/suokunlong/tmp/hello_world.odt"
file_path_docx = "file:///home/suokunlong/tmp/hello_world.docx"
file_path_pdf = "file:///home/suokunlong/tmp/hello_world.pdf"
file_path_odt_protected = "file:///home/suokunlong/tmp/hello_world_protected.odt"

# 保存
model.storeToURL(file_path_odt, args_odt)
model.storeToURL(file_path_docx, args_docx)
model.storeToURL(file_path_pdf, args_pdf)
model.storeToURL(file_path_odt_protected, args_odt_protected)

# 关闭文档(注意此时您通过命令行运行的 libreoffice 管道进程并不会通过以下代码关闭)
model.dispose()

最后,新建一个命令行窗口,通过以下命令用位于 LibreOffice 安装路径下的python解释器(注意不是您系统自身安装的python)来运行这段 hello_world.py 代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ /opt/libreofficedev7.1/program/python ./hello_world.py

此时,你定义的保存路径下会生成四个文件:一个ODT文件,一个DOCX文件,一个PDF文件,还有一个受密码保护的ODT文件。

以上代码在Fedora 32下测试通过,使用的是最新的 LibreOffice 7.1分支构建版本。

以上示例是通过创建空白文档,然后对该空白文档进行操作的。当然,您可以修改代码,从而先读入现有的文档,然后进行后续操作。读文档时,只需要将上述完整代码中的以下代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
model = desktop.loadComponentFromURL("private:factory/swriter", "_blank", 0, ())

修改为:(注意尖括号里的内容)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
model = desktop.loadComponentFromURL(<文件路径>, "_blank", 0, <通过PropertyValue构造的打开文件的参数选项,比如FilterName, Password等>)
Python调用LibreOffice转换文件

整体流程 1、启动LibreOffice服务 2、打开待转换的文件 3、设置文件输出路径和格式 4、执行文件转换 5、关闭LibreOffice服务

下面让我们逐步进行每一步的实现。

步骤一:启动LibreOffice服务 在开始转换文件之前,我们需要先启动LibreOffice服务。这可以通过命令行来实现,具体命令如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
soffice --headless --invisible --nodefault --nofirststartwizard --nologo --norestore

这个命令会启动一个LibreOffice的服务实例,通过参数设置使其在后台运行并不显示图形界面。我们可以使用Python的subprocess模块来执行这个命令,代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import subprocess

# 启动LibreOffice服务
subprocess.run(['soffice', '--headless', '--invisible', '--nodefault', '--nofirststartwizard', '--nologo', '--norestore'])

步骤二:打开待转换的文件 在启动了LibreOffice服务之后,我们可以开始打开待转换的文件。这可以通过LibreOffice提供的Python库uno来实现。具体代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import uno

# 创建一个LibreOffice组件上下文
local_context = uno.getComponentContext()

# 创建一个服务管理器
resolver = local_context.ServiceManager.createInstanceWithContext("com.sun.star.bridge.UnoUrlResolver", local_context)

# 连接到LibreOffice的服务
ctx = resolver.resolve("uno:socket,host=localhost,port=2002;urp;StarOffice.ComponentContext")

# 获取Root解析器
smgr = ctx.ServiceManager

# 创建一个新的Desktop组件
desktop = smgr.createInstanceWithContext("com.sun.star.frame.Desktop", ctx)

# 打开待转换的文件
doc = desktop.loadComponentFromURL(file_url, "_blank", 0, ())

在上述代码中,file_url代表待转换的文件路径,可以是本地文件路径或者是网络文件路径。这段代码会通过LibreOffice的服务打开待转换的文件。

步骤三:设置文件输出路径和格式 在打开了待转换的文件之后,我们需要设置转换后文件的输出路径和格式。具体代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import os

# 获取待转换文件的目录和文件名
file_dir = os.path.dirname(file_url)
file_name = os.path.basename(file_url)

# 构造输出文件的路径和名称
output_file = os.path.join(file_dir, f"converted_{file_name}.pdf")

# 设置输出参数
output_props = (
    uno.createUnoStruct("com.sun.star.beans.PropertyValue"),
)
output_props[0].Name = "FilterName"
output_props[0].Value = "writer_pdf_Export"

# 设置转换后文件的输出路径和格式
doc.storeToURL(output_file, output_props)

在上述代码中,output_file代表转换后文件的输出路径和名称,这里以PDF格式为例。我们通过设置FilterName属性来指定转换的文件格式。

步骤四:执行文件转换 在设置了输出路径和格式之后,我们可以执行文件转换的操作。具体代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import time

# 转换文件
doc.refresh()
time.sleep(2)

# 关闭文档
doc.close(True)

在上述代码中,我们使用refresh方法来刷新文档内容,然后使用sleep方法来等待一段时间确保转换完成。最后,我们使用close方法关闭文档。

步骤五:关闭Libre

安装参考:https://blog.csdn.net/carefree2005/article/details/131286781 https://www.sohu.com/a/614599009_120108288 https://blog.51cto.com/xrayly/2074430 https://blog.csdn.net/qq_31810357/article/details/126221833 https://blog.51cto.com/u_15127645/4323947

使用参考:https://blog.csdn.net/lsjweiyi/article/details/122586458 https://www.libreofficechina.org/python-libreoffice-api-hello-world/ https://blog.51cto.com/u_16175439/7256105 https://blog.csdn.net/ppp5741/article/details/130383648

其它:https://github.com/mirkonasato/pyodconverter

rpm安装libreoffice24.2遇到的问题:

问题1:/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20‘ not found 解决:https://blog.csdn.net/weixin_48043343/article/details/130732382 https://blog.csdn.net/lsb2002/article/details/131456857

问题2:/lib64/libc.so.6: version `GLIBC_2.18‘ not found 解决:https://blog.csdn.net/fdbright/article/details/131467605

问题3:/lib64/libm.so.6: version `GLIBC_2.27‘ not found 解决:https://blog.csdn.net/nilm61/article/details/134266633 https://blog.csdn.net/qq_38225558/article/details/128641561

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-04-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
centos下手动安装libreoffice程序–亲测可行
Download LibreOffice | LibreOffice - Free Office Suite - Based on OpenOffice - Compatible with Microsoft
超级小可爱
2024/08/07
3.1K2
centos下手动安装libreoffice程序–亲测可行
Linux-Centos中安装部署libreoffice7.0.x
首先在主机上的/home目录下,新建一个/kaivi文件夹。在/kaivi文件夹中存放一个word文档(1.docx)。
陈不成i
2021/07/08
3.3K0
Ubuntu上部署JobConverter + Ibreoffice环境
本文内容主要目的在于测试Ibreoffice转换docx文档失败的原因是否和系统有关,之前我在CentOS上和MacOS上均转换不成功,但是使用一个开源的项目却可以,而他用的就是Ubuntu和Ibreoffice,抱着找到原因的心态在Ubuntu上进行测试。
码客说
2020/06/22
1.7K0
5 个用命令行操作 LibreOffice 的技巧
LibreOffice 拥有所有你想要的办公软件套件的生产力功能,使其成为微软 Office 或谷歌套件的流行的开源替代品。LibreOffice 的能力之一是可以从命令行操作。例如,Seth Kenlon 最近解释了如何使用 LibreOffice 用全局 命令行选项将多个文件 从 DOCX 转换为 EPUB。他的文章启发我分享一些其他 LibreOffice 命令行技巧和窍门。
用户8639654
2021/09/09
2.7K0
浅浅写一个Word、PowerPoint、Excel文档转PDF工具
最近在搞知识库,需要把各种 Word、PowerPoint、Excel 文件转换成 PDF 文件,不然 Word 中的表格中的文字提取会出现一些问题;使用 Office 或者 WPS 将大量文件转换成 PDF 需要频繁重复打开文件,点击保存为PDF,然后再关闭,非常繁琐。所以就简单的写了下面的 Python 程序来帮助我转化。
繁依Fanyi
2024/06/08
3700
浅浅写一个Word、PowerPoint、Excel文档转PDF工具
Java使用OpenOffice将Office文件转换为PDF
摘要:本文详细介绍如何在Java应用中集成OpenOffice/LibreOffice,实现Word、Excel、PowerPoint等Office文档到PDF的自动化转换。通过jodconverter库的实战演示,结合服务配置、代码实现和常见问题解决方案,为开发者提供完整的文档转换解决方案。
技术文章分析
2025/08/13
2250
office系列文档的在线预览解决方案 - 在linux平台下转为pdf
office系列文档包括:.ppt .pptx .doc .docx .xls .xlsx 等常用格式。
王亚昌
2018/08/03
1.9K0
LibreOffice基于linux的安装
官方地址:https://zh-cn.libreoffice.org/download/libreoffice/
华创信息技术
2022/05/28
1.7K0
如何在CentOS上使用LibreOffice将Word文档转换为PDF格式
在处理文档时,将Word文件转换为PDF格式是一个常见需求。PDF格式的文档更加标准化,易于分享和阅读,同时也能很好地保持原始布局和格式。本文将指导你如何在CentOS系统上使用LibreOffice来完成这一任务。
高老师
2024/02/05
3K1
使用python将word文档和pdf电子书进行格式互转(兼容Windows/Linux)
    一些重要文档格式之间的互转在目前显得尤为重要,pdf作为通用格式在现在各个平台上兼容性是最好的,所以写python脚本将这些word文档批量转换pdf是最好的解决方案。
用户9127725
2022/08/08
1.8K0
使用python将word文档和pdf电子书进行格式互转(兼容Windows/Linux)
Python提取Word表格数据教程(含.doc/.docx)
最近由于工作上的需要,需要使用Python完成DOC文档格式数据的读取和修改工作,但通过查阅相关资料,直接对DOC文档进行读取和修改没有相关的依赖(主要为doc文件为较早的windows系统支持格式),需要将DOC文件转换为.docx格式,为什么是docx格式?
盹猫
2025/07/22
1560
知识分享之Golang——一个常见word、excel转换pdf的工具函数
知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习。欢迎大家进行持续关注。
cn華少
2022/04/02
3.9K0
实践教程:使用DeepSeek实现PDF转Word的高效方案
PDF文件因其跨平台、格式稳定的特性被广泛使用,但在内容编辑场景中,用户常需将PDF转换为可编辑的Word文档。传统的付费工具(如Adobe Acrobat)或在线转换平台存在成本高、隐私风险等问题。本文将使用pdf2docx库进行格式保留转换,并提供两种实现方式(基础版和增强版)
知识浅谈
2025/05/18
4790
最全总结 | 聊聊 Python 办公自动化之 Word(下)
这个功能,由章节对象中的属性 different_first_page_header_footer 来控制
AirPython
2020/11/19
3.1K0
nginx+php+openOffice[通俗易懂]
由于需要将word-》pdf功能从windows迁移到linux,由于现在测试服务器尝试,所以有必要记录下安装过程。
全栈程序员站长
2022/07/20
5840
jodconverter4.1.0版本改进解析
jodconverter 4.1.0版本的话,改进了api的结构,同时新增了local以及online的模块,本文就来分析一下。
code4it
2018/09/17
3.6K0
终于有人centos内网安装libreoffice说清楚了!避免采坑
例如:LibreOffice_7.1.0.2_Linux_x86-64_rpm.tar.gz
小熊学Java
2023/07/12
4K2
终于有人centos内网安装libreoffice说清楚了!避免采坑
springboot实战之office文档在线预览
文档在线预览在企业级应用开发也算是比较常遇见的需求了,通常处理这方面的需求大致有如下的方案,
lyb-geek
2019/11/27
7.9K0
springboot实战之office文档在线预览
.NET Core 使用 LibreOffice 实现 Office 预览(Docker 部署)
前些年做云盘产品的时候,一个很核心的功能就是 Office 文件预览,当时还没有使用 .NET Core ,程序部署在 Windows Server 服务器上,文件预览的方案采用了微软的 OWA 。
oec2003
2022/12/01
1.7K0
.NET Core 使用 LibreOffice 实现 Office 预览(Docker 部署)
我的MacOS上一些好用的软件-第二篇
在上一篇我的MacOS上一些好用的软件(集合)中介绍了一些我常用的软件,并且是定期更新的。本文主要是补充一些我上一台MacBook Pro中使用的一些好用软件,只是没有特别大的需求所以现在新买的的Mac Studio里没有装他们,但不能否认的是他们依然是一些好用的软件
Y1ng
2022/10/31
7720
我的MacOS上一些好用的软件-第二篇
相关推荐
centos下手动安装libreoffice程序–亲测可行
更多 >
LV.1
这个人很懒,什么都没有留下~
目录
  • 文章目录
  • libreoffice简介
  • win安装
  • linux安装
    • yum安装
    • rpm包安装
  • libreoffice使用简介
    • 命令方式使用libre
    • python调用libre(使用于win环境)
    • 如何使用 Python 调用 LibreOffice API
      • 创建文件、保存为不同的格式、导出为PDF、并添加密码保护
    • Python调用LibreOffice转换文件
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档