直接上代码

#-*- encoding:utf-8 -*-

"""author:lgh

简单的doc转pdf,html,pdf转doc脚本

依赖库pdfminer3k,pip install pdfminer3k即可"""

from win32com.client importDispatch, constantsfrom pdfminer.pdfparser importPDFParser, PDFDocumentfrom pdfminer.pdfinterp importPDFResourceManager, PDFPageInterpreterfrom pdfminer.layout importLAParams, LTTextBoxHorizontalfrom pdfminer.converter importPDFPageAggregatorfrom pdfminer.pdfinterp importPDFTextExtractionNotAlloweddefdoc2pdf(input, output):

w= Dispatch('Word.Application')try:#打开文件

doc = w.Documents.Open(input, ReadOnly=1)#转换文件

doc.ExportAsFixedFormat(output, constants.wdExportFormatPDF,

Item=constants.wdExportDocumentWithMarkup, CreateBookmarks =constants.wdExportCreateHeadingBookmarks)returnTrueexceptException as e:print(e)returnFalsefinally:

w.Quit(constants.wdDoNotSaveChanges)defdoc2html(input, output):

w= Dispatch('Word.Application')try:

doc= w.Documents.Open(input, ReadOnly=1)

doc.SaveAs(output,8)returnTrueexceptException as e:print(e)returnFalsefinally:

w.Quit(constants.wdDoNotSaveChanges)defpdf2doc(input, output):try:

with open(input,'rb') as f:

parser=PDFParser(f)

doc=PDFDocument()

parser.set_document(doc)

doc.set_parser(parser)#设置初始化密码

doc.initialize()if notdoc.is_extractable:raisePDFTextExtractionNotAllowedelse:

rsrcmgr=PDFResourceManager()

laparams=LAParams()

device= PDFPageAggregator(rsrcmgr, laparams=laparams)

interpreter=PDFPageInterpreter(rsrcmgr, device)for page indoc.get_pages():

interpreter.process_page(page)

layout=device.get_result()for x inlayout:ifisinstance(x, LTTextBoxHorizontal):

with open(output,'a', encoding='utf-8') as f1:

results=x.get_text()

f1.write(results+'\n')returnTrueexceptException as e:print(e)returnFalsedefmain():#rc = doc2pdf(input, output)

#rc = doc2html(input, output)

input = r'F:\save_data\流畅的Python.pdf'output= r'F:\save_data\test.doc'rc=pdf2doc(input, output)ifrc:print('转换成功')else:print('转换失败')if __name__ == '__main__':

main()

以上其实是通过com来调用office API,其他语言貌似也可以

当然你也可以用上面的代码将word文件转换成任意格式文件(只要office 2007支持,比如将word文件转换成PDF文件,把8改成17即可),下面是office 2007支持的全部文件格式对应表:

wdFormatDocument                    =  0

wdFormatDocument97                  =  0

wdFormatDocumentDefault             = 16

wdFormatDOSText                     =  4

wdFormatDOSTextLineBreaks           =  5

wdFormatEncodedText                 =  7

wdFormatFilteredHTML                = 10

wdFormatFlatXML                     = 19

wdFormatFlatXMLMacroEnabled         = 20

wdFormatFlatXMLTemplate             = 21

wdFormatFlatXMLTemplateMacroEnabled = 22

wdFormatHTML                        =  8

wdFormatPDF                         = 17

wdFormatRTF                         =  6

wdFormatTemplate                    =  1

wdFormatTemplate97                  =  1

wdFormatText                        =  2

wdFormatTextLineBreaks              =  3

wdFormatUnicodeText                 =  7

wdFormatWebArchive                  =  9

wdFormatXML                         = 11

wdFormatXMLDocument                 = 12

wdFormatXMLDocumentMacroEnabled     = 13

wdFormatXMLTemplate                 = 14

wdFormatXMLTemplateMacroEnabled     = 15

wdFormatXPS                         = 18照着字面意思应该能对应到相应的文件格式,如果你是office 2003可能支持不了这么多格式。word文件转html有两种格式可选wdFormatHTML、wdFormatFilteredHTML(对应数字8、10),区别是如果是wdFormatHTML格式的话,word文件里面的公式等ole对象将会存储成wmf格式,而选用wdFormatFilteredHTML的话公式图片将存储为gif格式,而且目测可以看出用wdFormatFilteredHTML生成的HTML明显比wdFormatHTML要干净许多。

参考自https://blog.csdn.net/binger819623/article/details/6770932

docx 转换成html转pdf,python3将docx转换成pdf,html文件,pdf转doc文件相关推荐

  1. Freemark 模板生成doc文件,xml doc文件转docx 文件,docx文件转pdf文件

    freemark 模板生成doc文件,此doc文件为xml格式,无法直接转pdf 需要doc转docx文件,才能转pdf 方法1:docx4j 转 pdf 方法2: e-iceblue docx 转 ...

  2. 使用poi根据模版生成word文档并转换成PDF文件(可处理doc文件与docx文件版)

    该篇文章是<使用poi根据模版生成word文档并转换成PDF文件>后续解决传入文件为doc文档或docx的处理方法 /*** 根据模板生成word** @param path 模板的路径* ...

  3. 服务器导出word文档中有乱码,使用Aspose.word DOC转PDF文件乱码问题-Doc文件

    描述:最近在项目中使用Aspose.word将word转pdf时出现中文乱码问题,在window平台下转换没有问题,中文也不会出现乱码.但是将服务部署在服务器linux上,转换出来的PDF中文就出现了 ...

  4. 【小技巧】公式从docx文件复制到doc文件变成了图片怎么办?

    文章目录 0.word文件后缀命名 1.docx和doc默认的公式编辑方式 2.MathTpye公式编辑器 3.MathType 运行时错误'53':文件未找到:MathPage.WLL 4.结束语 ...

  5. java中doc文件转为pdf文件_java将doc文件转换为pdf文件的三种方法

    标签: http://feifei.im/archives/93 ---------------------------------------------- 项目要用到doc转pdf的功能,一番go ...

  6. 和doc的区别怎么转换手机_如何把doc文件转换成PDF格式?高手告诉你应该这么做...

    视频步骤: 知乎视频​www.zhihu.com 有时候老师让交的实验报告文件格式必须为PDF格式,因为PDF与不同的操作系统和软件版本具有很好的兼容性,所以大多数人都喜欢将Word转换成PDF.但有 ...

  7. react在线浏览doc_如何把doc文件转换成PDF格式?教你一招秒实现

    有时候老师让交的实验报告文件格式必须为PDF格式,因为PDF与不同的操作系统和软件版本具有很好的兼容性,所以大多数人都喜欢将Word转换成PDF.但有的同学的Word版本不能直接将doc文件转换成PD ...

  8. Go如何自动解压缩包?如何读取docx/doc文件内容?

    在开发过程中,我们常常需要处理压缩包和文档文件.本文将介绍如何使用Go语言自动解压缩包和读取docx/doc文件. 一.解压缩包 压缩包格式 常见的压缩包格式有zip.gzip.bzip2等.在Go语 ...

  9. docx poi 原理_使用POI读写word docx文件

    目录 1     读docx文件 1.1     通过XWPFWordExtractor读 1.2     通过XWPFDocument读 2     写docx文件 2.1     直接通过XWPF ...

最新文章

  1. Oculus Go 开发者版本开放索取,下个月设备开始配送
  2. android 模仿大众点评团购卷列表多余3条时折叠,点击时显示剩余全部的功能
  3. MYSQL从节点延迟问题原因及解决
  4. 数学建模 割平面算法求解整数规划基本原理与编程实现
  5. 【数据库系统】数据模型、模式、数据的概念辨析
  6. 保持函数依赖的模式分解可以减轻或解决什么_为什么我更喜欢函数式编程?
  7. ubuntu iptables 共享上网
  8. android绘制矢量图_Android矢量可绘制
  9. 学习SharePoint你需要什么?
  10. [LeetCode] Trapping Rain Water II 题解
  11. npoi导出的excel中设置列宽
  12. 网易云课堂 python网络爬虫实战
  13. (二)OpenCV-Python学习—对比度增强
  14. Redis主从复制架构初步探索 http://www.sxt.cn/info-1750-u-324.html#SXT_h2_11
  15. 常用汉字unicode编码
  16. 学习Python后能找什么工作
  17. 快速上手云原生安全平台 NeuVector
  18. 电商项目_dwd主题域
  19. python正则表达式入门教程括号及字符
  20. 自定义 View 之联系人字母索引及定位效果

热门文章

  1. 安卓APP登录忘记密码以及通过邮箱找回密码的实现
  2. JAVA面试题100道一
  3. 近期公司笔试题(4)
  4. 如何在 LearnDash 线上教育平台网站上构建和管理大型课程
  5. 细数人工智能这几年的悲与喜
  6. CentOS7配置nexus开机自启动
  7. 蝙蝠侠与小丑:同一硬币的两面?
  8. 拉索检测机器人_斜拉桥拉索检测机器人控制系统设计
  9. 10个可视化图表数据网站推荐
  10. ACL2020论文阅读笔记:BART