python替换word文件中的图片

python替换word文件中的图片

模拟鼠标键盘,截屏

import glob
import os
import timeimport pyautogui
import pyautogui as p
from PIL import ImageGrab
from pynput.keyboard import Controller# -*- coding:utf-8 -*-directory = './'directory1 = './output'for f in glob.glob(os.path.join(directory, '*.docx')):os.remove(f)for f in glob.glob(os.path.join(directory1, '*.png')):os.remove(f)def find_and_click(image_path, confidence):image_location = pyautogui.locateOnScreen(image_path, grayscale=True, confidence=confidence)if image_location:time.sleep(0.5)position = pyautogui.center(image_location)pyautogui.click(position)else:print(f"{image_path} 未找到指定的图片")time.sleep(1)# 初始化键盘控制器i
keyboard = Controller()find_and_click("./images/01hf.jpg", 0.8)
time.sleep(1)find_and_click("./images/02my.jpg", 0.8)
time.sleep(1)find_and_click("./images/03bg.jpg", 0.8)
time.sleep(1)find_and_click("./images/04cty.jpg", 0.8)
time.sleep(1)find_and_click("./images/05zsxx.jpg", 0.8)
time.sleep(3)find_and_click("./images/06sj.jpg", 0.8)
time.sleep(2)find_and_click("./images/07ss.jpg", 0.8)
time.sleep(2)keyboard = Controller()keyboard.press(key='p')  # 按键按下s
time.sleep(0.2)
keyboard.release(key='p')  # 按键松开s
time.sleep(1)find_and_click("./images/08sj.jpg", 0.8)
time.sleep(1)p.doubleClick(1169, 145, 0.5)time.sleep(5)# 定义截图区域的左上角和右下角坐标
# 这里的坐标应根据你的需求进行调整
left, top, right, bottom = 992, 217, 1899, 391# 使用ImageGrab.grab()方法进行截图
# 参数为截图区域的左上角和右下角坐标
screenshot = ImageGrab.grab(bbox=(left, top, right, bottom))# 保存截图图片
screenshot.save('./output/0test.png')time.sleep(0.5)
find_and_click("./images/14ht.jpg", 0.8)
time.sleep(3)

python替换word文件中的图片

import glob
import os
import shutil
from docx import Document# -*- coding:utf-8 -*-# 删除目录下所有的*.docx文件
directory = './'for f in glob.glob(os.path.join(directory, '*.docx')):os.remove(f)# 将源文件拷贝到目标目录
source_file = 'D:\\周报整理\\2024年周报\\2024年4月运维服务报告v06.docx'
target_directory = './'
shutil.copy(source_file, target_directory)# 获取目录下所有文件
folder_path = r'./'file_list = os.listdir(folder_path)# 遍历文件列表,修改xxx.docx改名为test.docx
for file_name in file_list:# 检查文件是否以 .xls 结尾if file_name.endswith('.docx'):# 构造新文件名new_file_name = os.path.join(folder_path, 'test.docx')# 重命名文件os.rename(os.path.join(folder_path, file_name), new_file_name)def get_image_info(doc):for rel in doc.part.rels.values():if rel.reltype == 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/image':print('Image ID:', rel.rId, 'Filename:', rel.target_part.filename)def replace_image_by_id(doc, rId, new_image_path):for rel in doc.part.rels.values():if rel.reltype == 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/image' and rel.rId == rId:target_part = rel.target_partwith open(new_image_path, 'rb') as f:target_part._blob = f.read()document = Document('test.docx')# 获取图片信息
get_image_info(document)# 替换图片
replace_image_by_id(document, 'rId11', './output/0test.png')# 保存文档
document.save('output_test.docx')

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/26439.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于 Redis 实现分布式缓存

一、单节点 Redis 的问题 1.1 存在的问题 1、数据丢失问题:Redis 是内存存储,服务重启可能会丢失数据。 2、并发能力问题:单节点 Redis 并发能力虽然不错,但也无法满足如 618 这样的高并发场景。 3、故障恢复问题:如果…

实践分享:鸿蒙跨平台开发实例

先来理解什么是跨平台 提到跨平台,要先理解什么是“平台”,这里的平台,就是指应用程序的运行环境,例如操作系统,或者是Web浏览器,具体的像HarmonyOS、Android、iOS、或者浏览器,都可以叫做平台…

用于云医疗图像的缩略图保持加密方案

论文标题:《Data hiding with thumbnail-preserving encryption for cloud medical images》,作者提出了一种用于云医疗图像的可逆数据隐藏方案,同时保留了缩略图。下面是论文的创新点和算法过程的总结。 一、缩略图保持加密与传统图像加密 …

GD32 MCU超频后无法再次下载程序的解决办法

我们知道,MCU的系统时钟主频就相当于人的心跳或脉搏,为所有的工作单元提供时间基数,所以一般在程序最开始的地方都需要进行主频配置。 GD32固件库中提供了多种宏定义,可以很方便的将系统时钟配置为想要的频率。 GD32固件库中所用…

AI宣传文案软件有哪些?5款AI软件推荐

AI宣传文案软件有哪些?AI宣传文案软件在现代营销和创意产业中扮演着越来越重要的角色,它们凭借先进的自然语言处理、机器学习和深度学习技术,不仅解放了创作者的双手,还大大提升了文案的生成效率和质量。这些软件能够精准捕捉用户…

【JAVA开发笔记】Java判断集合中的对象的字段是否存在或等于某值

在Java中,判断一个List对象中某个字段是否等于某个值,通常需要对List进行遍历,并对每个对象检查其字段的值。以下是一个简单的例子,假设我们有一个Person类,它有一个name字段,我们想要判断List中是否有某个…

python快速入门之Flask框架

文章目录 一、pip安装二、接口开发三、测试 一、pip安装 pip install flask 二、接口开发 from flask import Flaskapp Flask(__name__)app.route("/test") def index():return "test"if __name__ __main__:app.run()三、测试 http://127.0.0.1:5000…

redis 08 慢查询日志

1.什么是慢查询日志 2.慢查询和两个参数有关 2.1 2.2 3.例子: 4 参数详细介绍:

ICRA 2024:基于视觉触觉传感器的物体表⾯分类的Sim2Real双层适应⽅法

⼈们通常通过视觉来感知物体表⾯的性质,但有时需要通过触觉信息来补充或替代视觉信息。在机器⼈感知物体属性⽅⾯,基于视觉的触觉传感器是⽬前的最新技术,因为它们可以产⽣与表⾯接触的⾼分辨率 RGB 触觉图像。然⽽,这些图像需要⼤…

探索PostgreSQL:从基础到进阶的实用教程

PostgreSQL是一种强大、开源的对象关系型数据库管理系统,广泛应用于各类数据密集型应用中。本文将带领你从基础知识到高级特性,全面了解PostgreSQL的使用和管理技巧,帮助你在工作和学习中得心应手。 一、PostgreSQL简介 PostgreSQL是什么 PostgreSQL,简称Postgres,是一个…

如何通过亚马逊测评提升产品竞争力的关键策略

在亚马逊这个全球领先的跨境电商平台上,随着卖家数量的激增,产品间的竞争愈发激烈,为了在市场中脱颖而出,提高产品的竞争力成为了每位卖家必须面对的问题,而在这其中,亚马逊测评作为一种有效的市场策略&…

STM32项目分享:车牌号识别系统

目录 一、前言 二、项目简介 1.功能详解 2.主要器件 三、原理图设计 四、PCB硬件设计 1.PCB图 2.PCB板打样焊接图 五、程序设计 六、实验效果 七、资料内容 项目分享 一、前言 项目成品图片: 哔哩哔哩视频链接: https://www.bilibili.…

python数据分析-房价数据集聚类分析

一、研究背景和意义 随着房地产市场的快速发展,房价数据成为了人们关注的焦点。了解房价的分布特征、影响因素以及不同区域之间的差异对于购房者、房地产开发商、政府部门等都具有重要的意义。通过对房价数据的聚类分析,可以深入了解房价的内在结构和规…

python实现跳跃表

跳跃表(Skip List)是一种基于链表的数据结构,它通过多级索引实现了高效的查找、插入和删除操作。跳跃表是一种随机化的数据结构,其预期性能与平衡二叉搜索树相近,但实现更为简单。 一、基本概念 跳跃表由多层链表组成…

Flutter 简化线程Isolate的使用

文章目录 前言一、完整代码二、使用示例1、通过lambda启动线程2、获取线程返回值3、线程通信4、结束isolate 总结 前言 flutter的线程是数据独立的,每个线程一般通过sendport来传输数据,这样使得线程调用没那么方便,本文将提供一种支持lambd…

音频处理1_基本概念

AI变声和音乐创作的基础 声音本质上是人类可察觉范围内的气压周期性波动, 即声波 声波是一种连续信号,在任意时间内的声音信号有无数个取值。对于只能读取有限长数组计算机来说,我们需要将连续的声音信号转换为一个离散的序列,即数字化表示。…

法考报名必看,99%高过审率证件照片电子版制作技巧

在2024年,法考备战已经如火如荼进行中,作为进入法律行业的第一步,参加法考的重要性不言而喻。而作为报名过程中必不可少的一环,报名照片要求以及证件照制作技巧更是需要我们特别重视的部分。想要在这个过程中顺利通过审核&#xf…

【全开源】图书借阅管理系统源码(ThinkPHP+FastAdmin)

📚图书借阅管理系统:打造你的私人图书馆 一款基于ThinkPHPFastAdmin开发的简易图书借阅管理系统,一款轻量级的图书借阅管理系统,具有会员管理,图书管理,借阅及归还管理,会员充值等基本功能&…

7-1 后序和中序构造二叉树

分数 5 作者 唐艳琴 单位 中国人民解放军陆军工程大学 本题目要求用后序序列和中序序列构造一棵二叉树(树中结点个数不超过10个),并输出其先序序列。 输入格式: 在第一行中输入元素个数。 第二行中输入后序序列,用空格分隔。…