| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> 【Python】批量导出word文档中的图片、嵌入式文件 -> 正文阅读 |
|
[Python知识库]【Python】批量导出word文档中的图片、嵌入式文件 |
Python 批量导出word文档中的图片、嵌入式文件需求学生试卷中的题目有要提交截图的,也有要提交文件的,为了方便学生考试,允许单独交或者嵌入Word中提交,那么事后如何整理学生的答案?单独提交的比较方便,直接扫描文件名匹配名字后放入指定文件夹即可。但是嵌入到Word中的图片和文件怎么提取出来呢? 现有如下需求:提取出一个Word文档中所有的图片(png、jpg)和嵌入的文件(任意格式)放入到指定的文件夹。 解决docx是一个压缩包,解压缩后图片一般都放在 提取图片 安装python-docx库
提取
运行结果: 可以看到,图片都能正常导出,但是学生嵌入的JAVA文件并没有导出,或者说导出的是bin文件,没有完全导出。 提取嵌入式文件 再次询问度娘发现,这种其实也是zip压缩包,但是不能直接提取出,它有个更专业的名字,叫ole文件,我们之前的doc、xls、ppt等没有带x的上古文档文件都是这种格式。那如何提取出文件呢?度娘告诉我有个叫oletools的项目可以,于是下载下来浅浅地分析了下,发现确实可以! oletools项目地址:https://github.com/decalage2/oletools 或者gitee上别人转存的地址:https://gitee.com/yunqimg/oletools 我是用的gitee上的版本,因为github打不开 QwQ 经相关文档介绍,项目下的 注意: 在此之前我执行了一下安装oletools的命令,如果不安装可能会出错:
成功导出
导出的文件也能正常访问: 于是把oletools目录复制到工程项目下,稍微修改一下oleobj.py能让我的代码调用它,在oleobj.py中添加如下代码:
在提取文件的代码后面加上如下调用:
再次运行 成功导出嵌入到Word中的文件! 成功解决问题~ 资源oletools:https://gitee.com/yunqimg/oletools 本项目:https://gitcode.net/XiaoYuHaoAiMin/export_docx_media_file 本项目打包:https://download.csdn.net/download/XiaoYuHaoAiMin/85643779 参考文档https://blog.csdn.net/culun797375/article/details/108840682 (手动提取) https://github.com/decalage2/oletools (本次主角之一oletools的仓库) https://gitee.com/yunqimg/oletools (oletools在gitee上的副本) https://blog.csdn.net/u011420268/article/details/106402153 (插入附件,想参考其普通文件如何转ole的,但是好像没转ole格式) https://blog.csdn.net/lly1122334/article/details/109669667 (python-docx的使用) https://zhuanlan.zhihu.com/p/446557096(oletools教程) https://blog.csdn.net/tixxxa/article/details/120429483 (导出附件Python实现,没用oletools,好像不行,有兴趣的同志可以研究下) https://blog.csdn.net/Cody_Ren/article/details/103886098 (ole文件结构,发现oletools后放弃自己写了) https://blog.csdn.net/m0_60574457/article/details/119279798 (oletools中文教程,好像是readme.md翻译过来的) |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 12:44:04- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |