当前位置: 首页 > news >正文

Python使用总结之py-docx将word文件中的图片保存,并将内容返回

Python使用总结之py-docx将word文件中的图片保存,并将内容返回

使用py-docx读取word文档的内容,其中包含标题、文本和图片等信息。该方法将标题和内容返回,并将文件中的图片保存到指定的文件夹中。

实现步骤

  1. 加载文件内容
  2. 读取文件的段落
  3. 对文件段落做判断
  4. 根据判断结果进行数据保存或者文件保存

代码部分

from docx import Document
import os
import redef extract_images_and_text(doc_path, output_folder):# 判断文件是否存在os.makedirs(output_folder, exist_ok=True)# 获取文件内容doc = Document(doc_path)# 创建数据保存字典content_dict = {}# 保存文件标题title = doc.paragraphs[0].text.strip() if doc.paragraphs else "Untitled"# 导出文件内容和图片full_text = ""img_count = 0for para in doc.paragraphs:full_text += para.text + "\n"for rel in doc.part.rels:rel = doc.part.rels[rel]if "image" in rel.target_ref:img_count += 1img_data = rel.target_part.blobimg_filename = f"image_{img_count}.png"img_path = os.path.join(output_folder, img_filename)with open(img_path, "wb") as img_file:img_file.write(img_data)# 清楚特殊符号content_dict[title] = re.sub(r'\n\s*\n', '\n', full_text.strip())return content_dict# Example usage:
doc_path = "path/to/your/document.docx"
output_folder = "path/to/output/folder"
result = extract_images_and_text(doc_path, output_folder)
print(result)
http://www.lryc.cn/news/443393.html

相关文章:

  • Radware 报告 Web DDoS 攻击活动
  • OpenCV运动分析和目标跟踪(2)累积操作函数accumulateSquare()的使用
  • PCIe进阶之TL:Common Packet Header Fields TLPs with Data Payloads Rules
  • Linux之实战命令01:xargs应用实例(三十五)
  • Redisson实现分布式锁(看门狗机制)
  • 记录一次显卡驱动安装
  • nginx的作用是什么
  • 【全网最全】2024年华为杯研赛B题成品论文获取入口(后续会更新)
  • 计算机网络(八) —— Udp协议
  • 【Linux篇】TCP/IP协议(笔记)
  • std::pair和std::tuple
  • Access denied for user ‘root‘@‘114.254.154.110‘ (using password: YES)
  • 深度学习03-神经网络01-什么是神经网络?
  • Redisson 分布式锁的使用详解
  • 计算机网络:物理层 --- 基本概念、编码与调制
  • 使用Maven创建一个Java项目并在repository中使用
  • 如何使用IIC外设(硬件IIC)
  • 使用 Vue 3、Vite 和 TypeScript 的环境变量配置
  • F28335 的串行外设接口(以下简称 SPI)
  • 科技引领未来生活——“光影漫游者”展览馆应用—轻空间
  • ego-planner开源代码之启动参数介绍分析
  • 828 华为云征文|华为 Flexus 云服务器打造 Laverna 在线笔记应用
  • 数据结构与算法-Trie树添加与搜索
  • AIGC专栏15——CogVideoX-Fun详解 支持图文生视频 拓展CogVideoX到256~1024任意分辨率生成
  • BFS 解决多源最短路问题
  • 论文笔记:交替单模态适应的多模态表征学习
  • 鸿蒙OS 线程间通信
  • 执行 npm报错 Cannot find module ‘../lib/cli.js‘
  • 基于SpringBoot+Vue+MySQL的国产动漫网站
  • AUTOSAR汽车电子嵌入式编程精讲300篇-基于CAN总线的气动控制