基于LibreOffice的MS Office文档格式转换-Git开源项目:Jodconverter & Gotenberg

在一些情况下,可能需要将Microsoft Office文件转换为其他格式:
• 兼容性问题:与不同的办公软件或操作系统进行交互,可能需要将MS Office文件转换为更通用的格式。例如,如果要与没有安装Microsoft Office的人分享文档,将其转换为PDF格式可能更合适。
• 归档和存档:将Office文件转换为更稳定、可持久保存的格式可以确保文件的长期保存和归档。某些文件格式(如PDF/A)专门用于长期存档目的,以确保文件内容的完整性和可访问性。
• 数据提取:你可能只对文档中的特定数据或内容感兴趣。通过将Office文件转换为其他格式(如纯文本或CSV),可以更容易地提取所需的数据,并在其他应用程序中进行分析或处理。
• 网页发布:如果要将MS Office文件发布到网页上,可能需要将其转换为HTML或其他网页友好的格式,以确保文件在网页上正确显示。

LibreOffice - 微软Office的开源替代

LibreOffice是一个免费、开源的办公套件,在某种程度上可以被视为微软Office的开源替代品。
• LibreOffice Writer:对应于Microsoft Word。
• LibreOffice Calc:对应于Microsoft Excel。
• LibreOffice Impress:对应于Microsoft PowerPoint。

LibreOffice的headless模式

与常见的Chromium的headless模式类似,LibreOffice也提供headless模式。
• 没有图形用户界面(GUI):无论是LibreOffice的headless模式还是Chromium的headless模式,都在没有GUI的情况下运行,不会显示可见的窗口或用户界面。
• 命令行接口(CLI)控制:通过命令行接口进行控制和操作。可以在命令行中使用特定的命令和参数来执行相应的任务和操作。
• 自动化和批处理:LibreOffice的headless模式和Chromium的headless模式都适用于自动化和批处理任务。
• 服务器环境中的应用:适用于在服务器环境中使用。
这就给在服务端自动化进行文档类型转换提供了很大的便利。

资源池管理与容器化-Jodconverter

JodConverter是一个用于将Office文档转换为其他格式的Java库。它支持与LibreOffice(也可以是OpenOffice)进行集成。
我们可以选择自己直接与headless的LibreOffice直接通信来完成文档格式转换,不过由JodConverter来代劳的好处是很明显的:
• 资源池化
• 容器化
JODConverter 的进程管理器(Process Manager)在资源池内维护 LibreOffice 进程。
将 LibreOffice 进程保持在资源池内,可以避免每次进行文档转换时都需要启动和终止 LibreOffice 进程的开销。
它可以检测到进程的健康状态,例如进程异常退出或崩溃,然后采取相应的措施,如重新启动进程。
JODConverter 还提供一个基于Debian的基础docker image,其中已经包含了LibreOffice。
我们的调用JODConverter的Java应用只需要基于该镜像build出来就好。

Jodconverter:https://github.com/jodconverter
支持的转换格式:
支持转换的格式
docker版:
https://github.com/jodconverter/docker-image-jodconverter-examples

GUI:

docker pull ghcr.io/jodconverter/jodconverter-examples:gui
docker run --memory 512m --rm -p 8080:8080 ghcr.io/jodconverter/jodconverter-examples:gui

REST:

docker pull ghcr.io/jodconverter/jodconverter-examples:rest
docker run --memory 512m  --rm -p 8080:8080 ghcr.io/jodconverter/jodconverter-examples:rest

Gotenberg

Gotenberg是一个开源的文档转换服务,使用 Chromium 和 LibreOffice 支持将多种文档格式(HTML、Markdown、Word、Excel 等)转换为PDF。
在这里插入图片描述
Gotenberg 是一个方便的开源工具,用于将各种格式的文档转换为 PDF 。它可以通过 Docker 容器快速安装运行,提供简单的 HTTP API 接口,使得文档转换过程变得简单易用。
你只需要发送相应的 HTTP 请求,就可以将 URL、HTML、Markdown、Word、PPT 或 Excel 等文件转换为 PDF,并下载转换后的文件。
请注意,具体的安装和使用步骤可能会根据 Gotenberg 的版本和你的系统环境有所不同。
建议参考 Gotenberg 的官方文档以获取最新的安装和使用指南。

这里我们使用docker来快速安装与运行gotenberg。

docker pull  dockerpull.com/gotenberg/gotenberg:8

安装完成后,我们可以通过访问 http://localhost:3000 来使用 gotenberg 的 API。 实际请求地址请根据服务器ip和使用的端口进行调整。
API文档:Routes | Gotenberg
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值