CentOS下使用LibreOffice实现文档格式的转换

栏目: 服务器 · 发布时间: 5年前

内容简介:项目需求,对上传的文档进行一些预处理,如果用户上传了先是试了一下然后发现了

项目需求,对上传的文档进行一些预处理,如果用户上传了 doc 格式的文档,需要将其处理为 docx 或者 pdf 格式,以便后续的流程对文档内容进行提取。

先是试了一下 phpoffice/phpword 这个包,发现其对 doc 的转换很不理想,这个包更适合用来根据内容生成文档,而不是转换文档,不是太适合我这种需求。

然后发现了 LibreOffice 这个开源工具,经过使用,效果很好,分享一下。

服务器是 CentOS7 ,直接使用 yum 安装 LibreOffice ,大概需要600MB+ 的磁盘空间:

# 装之前可以先删除一下,防止之前装过
yum remove libreoffice-*
yum install libreoffice

等待安装完成后,确认一下版本啥的,虽然官方已经到6.1版本了, yum 里面还是5.3.6的包,不过用起来并没有什么毛病,在这里我还是建议大家使用各自的 Linux 系统的包管理 工具 来安装,这样可以省去很多麻烦的。

[root@localhost /]# soffice --version
LibreOffice 5.3.6.1 30(Build:1)

不会用的话可以使用 soffice --help 看一下帮助,非常多的参数和使用案例,转换格式就很简单:

soffice --headless --convert-to docx /opt/upload/source/123.doc --outdir /opt/upload/source

以上的命令就是将 /opt/upload/source/123.doc 文件转换成docx格式,输出到 /opt/upload/source 文件夹里。

默认情况下:

outdir

转换成功会输出类似这样的:

convert /opt/upload/source/123.doc -> /opt/upload/source/123.docx using filter : MS Word 2007 XML
Overwriting: /opt/upload/source/123.docx

LibreOffice 会根据文件格式自动匹配格式过滤器(filter),至于它支持哪些格式,可以参考一下官网。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Hit Refresh

Hit Refresh

Satya Nadella、Greg Shaw / HarperBusiness / 2017-9-26 / USD 20.37

Hit Refresh is about individual change, about the transformation happening inside of Microsoft and the technology that will soon impact all of our lives—the arrival of the most exciting and disruptive......一起来看看 《Hit Refresh》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

SHA 加密
SHA 加密

SHA 加密工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器