Linux下的word文档格式转换工具

最近接到一个需求,要将所有不同格式的文档(包括.doc/.docx/.wps)转成统一格式,如都转为.docx,或直接转为.html 或.txt。经调研后,发现有这样几款工具:

win32com

python-docx

pydocx

可能还有,我就不再赘述了。经过全面调研,我发现这些工具存在这样的问题——Python相关工具要么无法处理.doc(只能处理.docx),要么要求必须在windows环境下使用(如win32com)。当前大家的生产环境一般都是Linux环境,更换win服务器会造成一系列的连带问题,比如其他库是否兼容等等,非常麻烦,所以找到.doc/.wps在Linux下的处理方式非常重要。还好,最后被我找到了,那就是LibreOffice

LibreOffice具体用法

首先,直接在命令行执行libreoffice --version,看看你是否已经安装此款工具。如果还没有安装,参考下文安装LibreOffice

安装完毕后,使用以下命令,对待转格式的文档进行格式转换,示例如下:

将.doc格式文档转为txt格式:

libreoffice --headless --convert-to txt path-to-your-doc.doc

你同样可以指定转换后的文件输出路径,也可以批量地将doc/docx/wps文件传给LibreOffice接口:

libreoffice --headless --convert-to html --outdir /your/output/dir /your/doc_docx_wps/files/*.{dosx,doc,wps}

使用python脚本执行格式转换

这个其实没什么玄乎的,就是用Python执行命令行而已:

import os

os.system("libreoffice --headless --convert-to txt path-to-your-doc.doc")

当然,如果你嫌这个接口的单进程速度太慢,你也可以用Python执行多进程启动转换:

import subprocess

import os, glob

from multiprocessing.dummy import Pool

def worker(fname, dstdir=os.path.expanduser("~")):

subprocess.call(["libreoffice", "--headless", "--convert-to", "pdf", fname], cwd=dstdir)

pool = Pool()

pool.map(worker, glob.iglob(

os.path.join(os.path.expanduser("~"), "*.doc")

))

LibreOffice的其他转换功能

其实LibreOffice功能很强大,它还可以对xhtml、pdf、jpeg、png等等多种格式进行转换。具体支持的格式如下

The following list of document formats are currently available:

bib - BibTeX [.bib]

doc - Microsoft Word 97/2000/XP [.doc]

doc6 - Microsoft Word 6.0 [.doc]

doc95 - Microsoft Word 95 [.doc]

docbook - DocBook [.xml]

docx - Microsoft Office Open XML [.docx]

docx7 - Microsoft Office Open XML [.docx]

fodt - OpenDocument Text (Flat XML) [.fodt]

html - HTML Document (OpenOffice.org Writer) [.html]

latex - LaTeX 2e [.ltx]

mediawiki - MediaWiki [.txt]

odt - ODF Text Document [.odt]

ooxml - Microsoft Office Open XML [.xml]

ott - Open Document Text [.ott]

pdb - AportisDoc (Palm) [.pdb]

pdf - Portable Document Format [.pdf]

psw - Pocket Word [.psw]

rtf - Rich Text Format [.rtf]

sdw - StarWriter 5.0 [.sdw]

sdw4 - StarWriter 4.0 [.sdw]

sdw3 - StarWriter 3.0 [.sdw]

stw - Open Office.org 1.0 Text Document Template [.stw]

sxw - Open Office.org 1.0 Text Document [.sxw]

text - Text Encoded [.txt]

txt - Text [.txt]

uot - Unified Office Format text [.uot]

vor - StarWriter 5.0 Template [.vor]

vor4 - StarWriter 4.0 Template [.vor]

vor3 - StarWriter 3.0 Template [.vor]

wps - Microsoft Works [.wps]

xhtml - XHTML Document [.html]

The following list of graphics formats are currently available:

bmp - Windows Bitmap [.bmp]

emf - Enhanced Metafile [.emf]

eps - Encapsulated PostScript [.eps]

fodg - OpenDocument Drawing (Flat XML) [.fodg]

gif - Graphics Interchange Format [.gif]

html - HTML Document (OpenOffice.org Draw) [.html]

jpg - Joint Photographic Experts Group [.jpg]

met - OS/2 Metafile [.met]

odd - OpenDocument Drawing [.odd]

otg - OpenDocument Drawing Template [.otg]

pbm - Portable Bitmap [.pbm]

pct - Mac Pict [.pct]

pdf - Portable Document Format [.pdf]

pgm - Portable Graymap [.pgm]

png - Portable Network Graphic [.png]

ppm - Portable Pixelmap [.ppm]

ras - Sun Raster Image [.ras]

std - OpenOffice.org 1.0 Drawing Template [.std]

svg - Scalable Vector Graphics [.svg]

svm - StarView Metafile [.svm]

swf - Macromedia Flash (SWF) [.swf]

sxd - OpenOffice.org 1.0 Drawing [.sxd]

sxd3 - StarDraw 3.0 [.sxd]

sxd5 - StarDraw 5.0 [.sxd]

sxw - StarOffice XML (Draw) [.sxw]

tiff - Tagged Image File Format [.tiff]

vor - StarDraw 5.0 Template [.vor]

vor3 - StarDraw 3.0 Template [.vor]

wmf - Windows Metafile [.wmf]

xhtml - XHTML [.xhtml]

xpm - X PixMap [.xpm]

The following list of presentation formats are currently available:

bmp - Windows Bitmap [.bmp]

emf - Enhanced Metafile [.emf]

eps - Encapsulated PostScript [.eps]

fodp - OpenDocument Presentation (Flat XML) [.fodp]

gif - Graphics Interchange Format [.gif]

html - HTML Document (OpenOffice.org Impress) [.html]

jpg - Joint Photographic Experts Group [.jpg]

met - OS/2 Metafile [.met]

odg - ODF Drawing (Impress) [.odg]

odp - ODF Presentation [.odp]

otp - ODF Presentation Template [.otp]

pbm - Portable Bitmap [.pbm]

pct - Mac Pict [.pct]

pdf - Portable Document Format [.pdf]

pgm - Portable Graymap [.pgm]

png - Portable Network Graphic [.png]

potm - Microsoft PowerPoint 2007/2010 XML Template [.potm]

pot - Microsoft PowerPoint 97/2000/XP Template [.pot]

ppm - Portable Pixelmap [.ppm]

pptx - Microsoft PowerPoint 2007/2010 XML [.pptx]

pps - Microsoft PowerPoint 97/2000/XP (Autoplay) [.pps]

ppt - Microsoft PowerPoint 97/2000/XP [.ppt]

pwp - PlaceWare [.pwp]

ras - Sun Raster Image [.ras]

sda - StarDraw 5.0 (OpenOffice.org Impress) [.sda]

sdd - StarImpress 5.0 [.sdd]

sdd3 - StarDraw 3.0 (OpenOffice.org Impress) [.sdd]

sdd4 - StarImpress 4.0 [.sdd]

sxd - OpenOffice.org 1.0 Drawing (OpenOffice.org Impress) [.sxd]

sti - OpenOffice.org 1.0 Presentation Template [.sti]

svg - Scalable Vector Graphics [.svg]

svm - StarView Metafile [.svm]

swf - Macromedia Flash (SWF) [.swf]

sxi - OpenOffice.org 1.0 Presentation [.sxi]

tiff - Tagged Image File Format [.tiff]

uop - Unified Office Format presentation [.uop]

vor - StarImpress 5.0 Template [.vor]

vor3 - StarDraw 3.0 Template (OpenOffice.org Impress) [.vor]

vor4 - StarImpress 4.0 Template [.vor]

vor5 - StarDraw 5.0 Template (OpenOffice.org Impress) [.vor]

wmf - Windows Metafile [.wmf]

xhtml - XHTML [.xml]

xpm - X PixMap [.xpm]

The following list of spreadsheet formats are currently available:

csv - Text CSV [.csv]

dbf - dBASE [.dbf]

dif - Data Interchange Format [.dif]

fods - OpenDocument Spreadsheet (Flat XML) [.fods]

html - HTML Document (OpenOffice.org Calc) [.html]

ods - ODF Spreadsheet [.ods]

ooxml - Microsoft Excel 2003 XML [.xml]

ots - ODF Spreadsheet Template [.ots]

pdf - Portable Document Format [.pdf]

pxl - Pocket Excel [.pxl]

sdc - StarCalc 5.0 [.sdc]

sdc4 - StarCalc 4.0 [.sdc]

sdc3 - StarCalc 3.0 [.sdc]

slk - SYLK [.slk]

stc - OpenOffice.org 1.0 Spreadsheet Template [.stc]

sxc - OpenOffice.org 1.0 Spreadsheet [.sxc]

uos - Unified Office Format spreadsheet [.uos]

vor3 - StarCalc 3.0 Template [.vor]

vor4 - StarCalc 4.0 Template [.vor]

vor - StarCalc 5.0 Template [.vor]

xhtml - XHTML [.xhtml]

xls - Microsoft Excel 97/2000/XP [.xls]

xls5 - Microsoft Excel 5.0 [.xls]

xls95 - Microsoft Excel 95 [.xls]

xlt - Microsoft Excel 97/2000/XP Template [.xlt]

xlt5 - Microsoft Excel 5.0 Template [.xlt]

xlt95 - Microsoft Excel 95 Template [.xlt]

xlsx - Microsoft Excel 2007/2010 XML [.xlsx]

python word转pdf linux_Linux下使用LibreOffice+python将doc/docx/wps格式的文档转成html/txt/docx等格式...相关推荐

  1. Python爬虫高级库之一的lxml库中,ET.parse()是一个非常重要的方法。它可以将任意XML或HTML格式的文档解析成一个ElementTree对象,...

    Python爬虫高级库之一的lxml库中,ET.parse()是一个非常重要的方法.它可以将任意XML或HTML格式的文档解析成一个ElementTree对象,方便我们对结构化的数据进行处理和分析.在 ...

  2. html长图转换成pdf,支持把各类文档转换成 HTML5(SVG)接口、长图片、PDF 。word转pdf、word转html5、pdf转网页html5、pdf转图片的接口...

    详情请到九云图官网了解一下.https://server.9yuntu.com/yuntu/resource/website/api.html 把 OFFICE / PDF / CAD 等文档转换成 ...

  3. 文档格式转换(Office文档转成PDF或XPS)

    最近在做微信云打印服务器,云服务器与微信云服务器通信己经OK,现在有一个很核心的功能需要实现,就是服务器端文档的格式转换 目标:将office.txt.图片格式的文档转成PDF 查阅了一些资料,格式转 ...

  4. 如何将PDF文档转成Excel?

    文章来源:https://www.reneelab.com.cn/how-to-convert-pdf-to-excel.html 目录 一.PDF与Excel文件 二.PDF转Excel的方法 1. ...

  5. android 如何将WPS文档转成PDF

    今天,简单讲讲android里如何将WPS文档转成PDF格式的文档. 这个其实也很简单 ,也和android的关系不大.大家如何不想看就不用继续看了.之前我一直在写文档,最后总是是完成的文档,但是领导 ...

  6. html虚拟打印转为pdf,Doro PDF Writer 虚拟打印机 – 可将任何格式图片/文档/文件转换成 PDF格式...

    在办公领域经常要用到 PDF 格式文档,因此常常有图片.表格.Word 等各种不同格式的文档转换成 PDF 格式的需求.虽然网上有很多在线转换网站或 PDF 转换软件,不过今天推荐的是通用性更强的软件 ...

  7. 将Doc或者Docx文档处理成html的代码逻辑;统计word中的字数,段数,句数,读取word中文档内容的代码逻辑...

    将Doc或者Docx文档处理成html的代码逻辑 下面是maven的配置代码: <!-- 文档处理所需的jar的依赖 --><dependency><groupId> ...

  8. 将Doc或者Docx文档处理成html的代码逻辑;统计word中的字数,段数,句数,读取word中文档内容的代码逻辑

    将Doc或者Docx文档处理成html的代码逻辑 下面是maven的配置代码: <!-- 文档处理所需的jar的依赖 --><dependency><groupId> ...

  9. 如何用Python批量将Pdf文档转换成Word文档?

    目录 一.前言 二.问题或需求 三.前提条件或注意事项 四.代码设计思路 五.具体执行代码 六.效果观察 七.声明及致谢 八.快捷方式 一.前言 一般情况,WPS系列office软件付费会员都有Pdf ...

最新文章

  1. 3.Web项目中使用Log4j实例
  2. 获取远程文章内容时,显示图片的两种方式
  3. 二、SpringMVC的常用注解——1-@Controller
  4. 云炬Android开发笔记 5-8文件下载功能设计与实现
  5. JAVA数据类型及字符编码
  6. 自定义查询语句SpringData
  7. 第十九节:终于,JavaScript也有了类(class)的概念
  8. spark学习-41-Spark的块传输服务BlockTransferService
  9. TortoiseGit乌龟git添加公钥密钥和私钥认证,实现乌龟git同步免密码输入
  10. 计算机自动重启快捷键,待机和重启电脑的快捷键
  11. 强一致共识算法-BFT/CFT
  12. 折线分割平面(图文解析)
  13. 数分练习-淘宝用户行为
  14. JQ对复选框全选、获取复选框的值、回选
  15. 研报:HTML5或将迎来爆发期
  16. 高标农田建设项目快速处理项目建设规模范围线
  17. SpringBoot缓存管理(二) 整合Redis缓存实现
  18. 叶国富亿元保障基金背后,名创优品打起品质攻坚战
  19. 计算机毕业设计-基于SSM的汽车维修管理系统
  20. HTML,CSS,JS(Day35)----你画我猜小游戏

热门文章

  1. Linux 上最好的 9 个免费视频编辑软件(2018) | Linux 中国
  2. 论文阅读:Personalized Federated Learning with Moreau Envelopes
  3. 女博士日记软件测试,一个女博士的日记
  4. Simulink仿真WiFi信号
  5. PTA 最大和最小 (10 分)请使用指针法(间接访问)编写程序,程序的功能是从键盘输入 10 个数,求其最大值和最小值的差。
  6. 未来教育1级计算机基础及ms,未来教育.全国计算机等级考试一本通一级计算机基础及MS Office应用...
  7. 全国计算机一级ms考试内容,2020年全国计算机等级考试一级MSOFFICE考试内容
  8. 心态-《好奇心》书中的精髓:保持好奇心,能让我们的学习和生活更精彩。
  9. 从“薛定谔的猫”联想到“好奇害死猫”
  10. html5源码笔记【爱创课堂专业前端培训】