平面素材网站哪个最好,算命手机网站开发,写网站教程,logo头像设计document文档格式、线段、图片、页眉页脚等都不变#xff0c;供大家参考#xff0c;具体内容如下 # -*- coding: utf-8 -*-# Time : 2019/5/6 11:46# Author :# 利用python-docx替换文章中的内容pip install python-docx# 格式、线段、图片、页眉页脚等都不…document文档格式、线段、图片、页眉页脚等都不变供大家参考具体内容如下 # -*- coding: utf-8 -*-# Time : 2019/5/6 11:46# Author :# 利用python-docx替换文章中的内容pip install python-docx# 格式、线段、图片、页眉页脚等都不变# python-docx 在处理超链接的问题时,可以参考一下链接对源码进行修改https://github.com/python-openxml/python-docx/issues/85# 具体修改操作如下\site-packages\docx\oxml\__init__.py# 需要新增的代码def remove_hyperlink_tags(xml):import retext xml.decode(utf-8)text text.replace(,)text re.sub(]*, , text)return text.encode(utf-8)# 需要修改的源码def parse_xml(xml):root_element etree.fromstring(remove_hyperlink_tags(xml), oxml_parser)return root_elementimport osfrom docx import Documentfrom win32com import client# 自己写的逐句翻译包import doc_scandef pre_document(filename):由于python_docx(只能读取.docx文件不能读取.doc文件)将对应文件夹下的doc文件转为docx文件:param filename: 文件的绝对路径:return:file_tuple os.path.splitext(filename)if file_tuple[1] .doc:word client.Dispatch(Word.Application)doc word.Documents.Open(filename) # 目标路径下的文件doc.SaveAs(file_tuple[0] .docx, 16) # 转化后路径下的文件doc.Close()word.Quit()# 把源文件删除os.remove(filename)def read_document():原文文章为中文,然后将中文逐句翻译成英文,把英文替换原来的中文,保留文章的原样式:return:# 遍历doc文件下的所有的文件path os.path.dirname(os.path.abspath(__file__)) \docfor f in os.listdir(path):file %s\%s % (path, f)# 对源文件进行预处理pre_document(file)document Document(file)for num, paragraph in enumerate(document.paragraphs):# 获取每段中的文字old_text paragraph.text.strip()if old_text:inlines paragraph.runsif inlines:# 将原有的文章里面的内容为空for li, inli in enumerate(inlines):inlines[li].text inlines[li].text.replace(inlines[li].text, )new_text doc_scan.Scan(old_text)# 把翻译好的文章句子 替换到 零号位置上面inlines[0].text new_text# 保存文件,覆盖操作document.save(file)# 将document中的图片下载到本地# document Document(file)# for shape in document.inline_shapes:# contentID shape._inline.graphic.graphicData.pic.blipFill.blip.embed# contentType document.part.related_parts[contentID].content_type# if not contentType.startswith(image):# continue# imgName basename(document.part.related_parts[contentID].partname)# imgData document.part.related_parts[contentID]._blob# with open(imgName,wb) as fp:# fp.write(imgData)if __name__ __main__:read_document()以上就是本文的全部内容希望对大家的学习有所帮助也希望大家多多支持聚米学院。