docx 转换成html转pdf,python3将docx转换成pdf,html文件,pdf转doc文件
直接上代码
#-*- 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文件相关推荐
- Freemark 模板生成doc文件,xml doc文件转docx 文件,docx文件转pdf文件
freemark 模板生成doc文件,此doc文件为xml格式,无法直接转pdf 需要doc转docx文件,才能转pdf 方法1:docx4j 转 pdf 方法2: e-iceblue docx 转 ...
- 使用poi根据模版生成word文档并转换成PDF文件(可处理doc文件与docx文件版)
该篇文章是<使用poi根据模版生成word文档并转换成PDF文件>后续解决传入文件为doc文档或docx的处理方法 /*** 根据模板生成word** @param path 模板的路径* ...
- 服务器导出word文档中有乱码,使用Aspose.word DOC转PDF文件乱码问题-Doc文件
描述:最近在项目中使用Aspose.word将word转pdf时出现中文乱码问题,在window平台下转换没有问题,中文也不会出现乱码.但是将服务部署在服务器linux上,转换出来的PDF中文就出现了 ...
- 【小技巧】公式从docx文件复制到doc文件变成了图片怎么办?
文章目录 0.word文件后缀命名 1.docx和doc默认的公式编辑方式 2.MathTpye公式编辑器 3.MathType 运行时错误'53':文件未找到:MathPage.WLL 4.结束语 ...
- java中doc文件转为pdf文件_java将doc文件转换为pdf文件的三种方法
标签: http://feifei.im/archives/93 ---------------------------------------------- 项目要用到doc转pdf的功能,一番go ...
- 和doc的区别怎么转换手机_如何把doc文件转换成PDF格式?高手告诉你应该这么做...
视频步骤: 知乎视频www.zhihu.com 有时候老师让交的实验报告文件格式必须为PDF格式,因为PDF与不同的操作系统和软件版本具有很好的兼容性,所以大多数人都喜欢将Word转换成PDF.但有 ...
- react在线浏览doc_如何把doc文件转换成PDF格式?教你一招秒实现
有时候老师让交的实验报告文件格式必须为PDF格式,因为PDF与不同的操作系统和软件版本具有很好的兼容性,所以大多数人都喜欢将Word转换成PDF.但有的同学的Word版本不能直接将doc文件转换成PD ...
- Go如何自动解压缩包?如何读取docx/doc文件内容?
在开发过程中,我们常常需要处理压缩包和文档文件.本文将介绍如何使用Go语言自动解压缩包和读取docx/doc文件. 一.解压缩包 压缩包格式 常见的压缩包格式有zip.gzip.bzip2等.在Go语 ...
- docx poi 原理_使用POI读写word docx文件
目录 1 读docx文件 1.1 通过XWPFWordExtractor读 1.2 通过XWPFDocument读 2 写docx文件 2.1 直接通过XWPF ...
最新文章
- Oculus Go 开发者版本开放索取,下个月设备开始配送
- android 模仿大众点评团购卷列表多余3条时折叠,点击时显示剩余全部的功能
- MYSQL从节点延迟问题原因及解决
- 数学建模 割平面算法求解整数规划基本原理与编程实现
- 【数据库系统】数据模型、模式、数据的概念辨析
- 保持函数依赖的模式分解可以减轻或解决什么_为什么我更喜欢函数式编程?
- ubuntu iptables 共享上网
- android绘制矢量图_Android矢量可绘制
- 学习SharePoint你需要什么?
- [LeetCode] Trapping Rain Water II 题解
- npoi导出的excel中设置列宽
- 网易云课堂 python网络爬虫实战
- (二)OpenCV-Python学习—对比度增强
- Redis主从复制架构初步探索 http://www.sxt.cn/info-1750-u-324.html#SXT_h2_11
- 常用汉字unicode编码
- 学习Python后能找什么工作
- 快速上手云原生安全平台 NeuVector
- 电商项目_dwd主题域
- python正则表达式入门教程括号及字符
- 自定义 View 之联系人字母索引及定位效果