Py学习  »  Python

提取出 Word 文档里的图片 并利用 python 批量转换格式

叶庭云 • 3 年前 • 328 次点击  

日常工作中,你是否遇到过这样的场景,领导发来一份 Word 文档,要求你将文档中的图片存储到一个文件夹内,并且还要将图片都改成 .jpg 或者 .png,你会怎么办?你是不是一边内心崩溃,一边开始一张张的 另存为 。今天,庭云教你两招省时省力的方法,不管文档中有几张甚到几百张图片,你都可以快速保存下来。

一、分析

图片在文档的应用已经是十分普遍的现象了,在 Word 文档中插入合适的图片无疑会让我们的文档变得更美观。

先来回想一下,我们平常是如何在Word中插入图片的?

  • 在本地电脑中事先存储好需要的图片素材,然后插入到Word中

  • 使用复制、截图等方法将图片粘贴到 Word 中

其实,第二种方法有一个弊端在于图片只存在 Word 中,如果我们需要将它们保存到本地电脑中以供日后使用,最常用的方法是单击鼠标右键,选择 另存为图片 ,然后选择路径进行保存。

这种方法在只需要处理少数几张图片时还算适用,一旦图片数量增多,处理工作就会变得繁琐且容易出错。

那么,我们怎样可以将这些图片批量保存呢?

二、提取出 Word 文档里的图片

解决方法就是:更改文件格式,直接将 Word 文档的后缀名改成 .rar ( .zip 也是可以的)的压缩格式。打开压缩文件,点击【word】-【media】,文档中使用的图片就出现在这里,只需要选中解压出来即可。

用于测试的 Word 文档如下:

操作方法如下:

点击查看,选择详细信息,勾上文件扩展名。



直接将 Word 文档的后缀名改成 .rar ( .zip 也是可以的)的压缩格式。打开压缩文件,点击【word】-【media】,文档中使用的图片就出现在这里,只需要选中解压出来即可。

三、利用 python 批量转换格式

# -*- coding: UTF-8 -*-
"""
@File    :test_01.py
@Author  :叶庭云
@CSDN    :https://yetingyun.blog.csdn.net/
"""
# 导入os模块
import os

# 不存在 jpg图片 这个文件夹  创建
if not os.path.exists('jpg图片'):
    os.mkdir('jpg图片')


path = r'.\jpg图片'
# 列出 media 文件夹下所有图片
files = os.listdir(r'.\media')

for item in files:
    # 拼接出media 文件夹下所有图片路径
    file_1 = '.\media' + '/' + item
    # 读取图片数据
    with open(file_1, 'rb') as f:
        con = f.read()
    # 重新写入  以 .jpg 格式 并保存到jog图片文件夹
    file_name = path + '/' + item.split('.')[0] + '.jpg'
    with open(file_name, 'wb') as f:
        f.write(con)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

运行效果如下:

程序运行,嗖的一下,图片格式都转换成了 .jpg 并保存到新的文件夹里。

作者:叶庭云
CSDN:https://blog.csdn.net/fyfugoyfa
本文仅用于交流学习,未经作者允许,禁止转载,更勿做其他用途,违者必究。
文章对你有所帮助的话,欢迎给个赞或者 star 呀,你的支持是对作者最大的鼓励,不足之处可以在评论区多多指正,交流学习呀。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/74865
 
328 次点击