电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Python實現Word文檔轉換Markdown的示例

瀏覽:6日期:2022-07-01 15:04:36

隨著SaaS服務的流行,越來越多的人選擇在各個平臺上編寫文檔,制作表格并進行分享。

同時,隨著Markdown語法的破圈,很多平臺開始集成支持這種簡潔的書寫標記語言,這樣可以保證平臺上用戶文檔樣式的統一性。

但是在一些場景下,我們還是會在本地的Office軟件上寫有很多文檔,或者歷史遺留了很多本地文檔。

如果我們需要將其上傳到各大平臺,直接復制粘貼,大概率是會造成文檔內容結構和樣式的丟失。于此我們需要將其轉換為 Markdown 語法。

很多桌面軟件(比如Typora)都提供了導入 Word 文件的功能,這類功能一般是通過 Pandoc 這個軟件來擴展實現的。

Pandoc 是一個全能型的文檔格式轉換工具,其能夠將多種文檔格式轉換為各類常見的文檔格式。具體的文檔格式之間的轉換如下圖所示(來源于官網):

Python實現Word文檔轉換Markdown的示例

Pandoc 是瑞士軍刀一般的存在,能夠較好的處理各類的文檔格式轉換,但是如果我們需要自己寫程序,調用 Pandoc 則需要額外的安裝 Pandoc 才行,并且也不方便自定義。

幸而,在 Python 中有很多第三方模塊提供了此類文檔格式的轉換功能。今天,我們來實現一下比較頻繁使用到的 Word 文檔轉 Markdown 文檔。

轉換邏輯

Word 文檔到 Markdown 文檔的轉換總體而言分兩步來實現:

第一步,將 Word 文檔轉換為 HTML 文檔; 第二步,將 HTML 文檔轉換為 Markdown 文檔; 依賴模塊

要實現這個功能我們需要借助 Python 的兩個第三方模塊:

mammoth markdownify

mammoth 是一個用于將 Word 文檔轉換為 HTML 的模塊,它支持在 Python、JavaScript、Java、.Net等平臺使用。而 markdownify 則是將 HTML 轉換為 Markdown 文檔的模塊。

處理 Word 圖片

因為 Word 文檔中不可避免地會存在很多圖片,為了在轉換后的文檔中能夠正確地顯示圖片,我們需要自定義一下Word 文檔內圖片的處理方式。默認情況下,mammoth 會將圖片轉換為 base64 編碼的字符串,這樣不用生成額外的本地圖片文件,但是會使文檔體積變得很大。所以我們選擇將圖片另存為本地圖片:

# 轉存Word文檔內的圖片def convert_img(image): with image.open() as image_bytes: file_suffix = image.content_type.split('/')[1] path_file = './img/{}.{}'.format(str(time.time()),file_suffix) with open(path_file, ’wb’) as f: f.write(image_bytes.read()) return {'src':path_file}正式轉換

在這里,我們以州的先生很久以前寫的《Python爬蟲實戰與機器學習應用》(需要這本書的小伙伴可以微信私聊我)這本書的 Word 文檔來演示。

Python實現Word文檔轉換Markdown的示例

代碼如下所示:

# 讀取Word文件with open(r'F:自媒體Python爬蟲實戰與機器學習應用.docx' ,'rb') as docx_file: # 轉化Word文檔為HTML result = mammoth.convert_to_html(docx_file,convert_image=mammoth.images.img_element(convert_img)) # 獲取HTML內容 html = result.value # 轉化HTML為Markdown md = markdownify(html,heading_style='ATX') print(md) with open('./docx_to_html.html',’w’,encoding=’utf-8’) as html_file,open('./docx_to_md.md','w',encoding=’utf-8’) as md_file: html_file.write(html) md_file.write(md) messages = result.messages

運行程序,最終生成2個文件:

docx_to_html.html docx_to_md.md

其中,docx_to_html.html 是 Word 文檔轉換為 HTML 后的文檔:

Python實現Word文檔轉換Markdown的示例

docx_to_md.md 是 HTML 轉換為 Markdown 后的文檔:

Python實現Word文檔轉換Markdown的示例

最后是另存為的圖片:

Python實現Word文檔轉換Markdown的示例

怎么樣,簡單的二三十行代碼就完成了 Word 到 Markdown 文檔的轉換,是不是很簡單?

此功能將集成到覓道文檔作為文檔導入的功能實現,歡迎持續進行關注!

文章版權所有:州的先生博客

原文地址:https://zmister.com/archives/1601.html

以上就是Python實現Word文檔轉換Markdown的示例的詳細內容,更多關于python Word文檔轉換Markdown的資料請關注好吧啦網其它相關文章!

標簽: python
相關文章:
主站蜘蛛池模板: 拉曼光谱仪_便携式|激光|显微共焦拉曼光谱仪-北京卓立汉光仪器有限公司 | 深圳标识制作公司-标识标牌厂家-深圳广告标识制作-玟璟广告-深圳市玟璟广告有限公司 | 杭州货架订做_组合货架公司_货位式货架_贯通式_重型仓储_工厂货架_货架销售厂家_杭州永诚货架有限公司 | 大型工业风扇_工业大风扇_大吊扇_厂房车间降温-合昌大风扇 | 水稻烘干机,小麦烘干机,大豆烘干机,玉米烘干机,粮食烘干机_巩义市锦华粮食烘干机械制造有限公司 水环真空泵厂家,2bv真空泵,2be真空泵-淄博真空设备厂 | 房车价格_依维柯/大通/东风御风/福特全顺/江铃图片_云梯搬家车厂家-程力专用汽车股份有限公司 | 超声波焊接机,振动摩擦焊接机,激光塑料焊接机,超声波焊接模具工装-德召尼克(常州)焊接科技有限公司 | 石家庄小程序开发_小程序开发公司_APP开发_网站制作-石家庄乘航网络科技有限公司 | 合肥仿石砖_合肥pc砖厂家_合肥PC仿石砖_安徽旭坤建材有限公司 | 棉柔巾代加工_洗脸巾oem_一次性毛巾_浴巾生产厂家-杭州禾壹卫品科技有限公司 | 膜结构_ETFE膜结构_膜结构厂家_膜结构设计-深圳市烨兴智能空间技术有限公司 | 北京森语科技有限公司-模型制作专家-展览展示-沙盘模型设计制作-多媒体模型软硬件开发-三维地理信息交互沙盘 | 冷水机-冰水机-冷冻机-冷风机-本森智能装备(深圳)有限公司 | 翰香原枣子坊加盟费多少钱-正宗枣核糕配方培训利润高飘香 | 大型低温冷却液循环泵-低温水槽冷阱「厂家品牌」京华仪器_京华仪器 | 示波器高压差分探头-国产电流探头厂家-南京桑润斯电子科技有限公司 | 品牌广告服务平台,好排名,好流量,好生意。 | 淋巴细胞分离液_口腔医疗器材-精欣华医疗器械(无锡)有限公司 | Eiafans.com_环评爱好者 环评网|环评论坛|环评报告公示网|竣工环保验收公示网|环保验收报告公示网|环保自主验收公示|环评公示网|环保公示网|注册环评工程师|环境影响评价|环评师|规划环评|环评报告|环评考试网|环评论坛 - Powered by Discuz! | 飞扬动力官网-广告公司管理软件,广告公司管理系统,喷绘写真条幅制作管理软件,广告公司ERP系统 | 医学模型生产厂家-显微手术模拟训练器-仿真手术模拟训练系统-北京医教科技 | 山东石英砂过滤器,除氟过滤器「价格低」-淄博胜达水处理 | 天津货架厂_穿梭车货架_重型仓储货架_阁楼货架定制-天津钢力仓储货架生产厂家_天津钢力智能仓储装备 | 半自动预灌装机,卡式瓶灌装机,注射器灌装机,给药器灌装机,大输液灌装机,西林瓶灌装机-长沙一星制药机械有限公司 | 大倾角皮带机-皮带输送机-螺旋输送机-矿用皮带输送机价格厂家-河南坤威机械 | 济南宣传册设计-画册设计_济南莫都品牌设计公司 | 幂简集成 - 品种超全的API接口平台, 一站搜索、试用、集成国内外API接口 | 浴室柜-浴室镜厂家-YINAISI · 意大利设计师品牌 | 咿耐斯 |-浙江台州市丰源卫浴有限公司 | 无纺布包装机|径向缠绕包装机|缠绕膜打包机-上海晏陵智能设备有限公司 | 柴油发电机组_柴油发电机_发电机组价格-江苏凯晨电力设备有限公司 | 网站建设,北京网站建设,北京网站建设公司,网站系统开发,北京网站制作公司,响应式网站,做网站公司,海淀做网站,朝阳做网站,昌平做网站,建站公司 | 【MBA备考网】-2024年工商管理硕士MBA院校/报考条件/培训/考试科目/提前面试/考试/学费-MBA备考网 | 扒渣机厂家_扒渣机价格_矿用扒渣机_铣挖机_撬毛台车_襄阳永力通扒渣机公司 | 等离子表面处理机-等离子表面活化机-真空等离子清洗机-深圳市东信高科自动化设备有限公司 | 温泉机设备|温泉小镇规划设计|碳酸泉设备 - 大连连邦温泉科技 | 质构仪_鱼糜弹性仪-上海腾拔仪器科技有限公司 | 火锅加盟_四川成都火锅店加盟_中国火锅连锁品牌十强_朝天门火锅【官网】 | 不锈钢轴流风机,不锈钢电机-许昌光维防爆电机有限公司(原许昌光维特种电机技术有限公司) | 电脑知识|软件|系统|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网 | ★济南领跃标识制作公司★济南标识制作,标牌制作,山东标识制作,济南标牌厂 | 引领中高档酒店加盟_含舍·美素酒店品牌官网 |