项目需求,对上传的文档进行一些预处理,如果用户上传了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实现文档格式的转换方式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。