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),至于它支持哪些格式,可以参考一下官网。


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

查看所有标签

猜你喜欢:

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

PHP经典实例(第3版)

PHP经典实例(第3版)

David Sklar、Adam Trachtenberg / 苏金国、丁小峰 / 中国电力出版社 / 2015-7 / 128.00

想要掌握PHP编程技术?或者想要学习如何完成一个特定的任务?那么一定要先看看《PHP经典实例(第3版)》。本书介绍了专门为PHP 5.4和5.5修订的350个经典技巧,并提供了丰富的示例代码。特别是对生成动态Web内容的解决方案做了全面更新,从使用基本数据类型到查询数据库,从调用RESTful API到测试和保护网站安全都有涵盖。 各个技巧都提供了示例代码,可以免费使用,另外还讨论了如何解决......一起来看看 《PHP经典实例(第3版)》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

SHA 加密
SHA 加密

SHA 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具