内容简介:项目需求,对上传的文档进行一些预处理,如果用户上传了先是试了一下然后发现了
项目需求,对上传的文档进行一些预处理,如果用户上传了 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),至于它支持哪些格式,可以参考一下官网。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 用深度学习实现 2D 到 3D 的转换
- Spring 早期类型转换,基于 PropertyEditor 实现
- C语言实现任意进制转换代码及解析
- 学术派 | 用深度学习实现 2D 到 3D 的转换
- Mongodb 利用mongoshell进行数据类型转换的实现方法
- python批量实现Word文件转换为PDF文件
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
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》 这本书的介绍吧!