CentOS下使用LibreOffice实现文档格式的转换方式
2019-10-13 18:05
1331 查看
项目需求,对上传的文档进行一些预处理,如果用户上传了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),至于它支持哪些格式,可以参考一下官网。
总结
以上所述是小编给大家介绍的CentOS下使用LibreOffice实现文档格式的转换方式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
您可能感兴趣的文章:
相关文章推荐
- Java使用libreoffice实现office文件转换成pdf格式,支持windows和linux
- 【好文翻译】一步一步教你使用Spire.Doc转换Word文档格式
- 在Shell脚本中编写AWK脚本实现数据提取—注意格式、awk中使用shell变量、awk中数字字符串转换成数字、awk中字符串相等比较
- 使用IStream和GDI+在内存中实现图像格式转换
- # Redis 配置文件 # 当配置中需要配置内存大小时,可以使用 1k, 5GB, 4M 等类似的格式,其转换方式如下(不区分大小写) # # 1k => 1000 bytes # 1kb =>
- java对象和json数据转换实现方式3-使用jackson实现
- 借助finalReport实现excel转换成cpt格式进行文档实现在线
- 使用java代码采用jacob的方式吧word文档转化为pdf格式
- ppt文档格式转换成pdf如何实现
- (三)java实现文档的在线浏览-使用JODConverter将office文档转换为pdf
- centos利用libreoffice将office文档转换成pdf
- 使用fastjson对Map或List实现快速Json格式转换
- 使用基于Android网络通信的OkHttp库实现Get和Post方式简单操作服务器JSON格式数据
- 【Aspose教程】Aspose.Words for .NET使用教程(三):支持平台及文档格式转换
- 在C#中使用.net3.0和Openxml在服务器端实现数据格式转换成OpenxmlExcel
- 用虚拟打印机实现文档格式的转换
- C#实现office文档转换为PDF格式
- java对象和json数据转换实现方式1-使用json-lib实现
- (四)java实现文档的在线浏览-使用swftools将pdf转换为swf
- PDF格式文档转换成Excel怎么实现