【办公类-22-13】周计划系列(5-5)“周计划-05 上传周计划png“ (2024年调整版本)

作品展示——将docx 转PDF转png,保留第一张图片

背景需求:

把周计划内容初步替换后,获得了19周的周计划+教案的docx

需要把周计划第一页的反思内容删除,,然后把第一页横版截图上传班级主页。

需求:周计划docx  截图成png图片,上传

素材准备:

代码展示:

-1、把所有周计划docx打开,删掉反思内容,另存到jpg上传文件夹

import os
from docx import Document
from docx.shared import Pt
from pdf2image import convert_from_path
import shutil

path=r'D:\test\02办公类\91周计划4份_2024年中4班\04 周计划'
old=path+r'\04合成新周计划'
new=path+r'\05jpg上传'
# 处理.docx文件

from docx import Document
import os

print('--------1、遍历文件夹,把所有周计划docx打开,删掉反思内容,另存到jpg上传文件夹---------')
folder_path = old
for file_name in os.listdir(folder_path):
    print(file_name)
    if file_name.endswith('.docx'):
        file_path = os.path.join(folder_path, file_name)
        doc = Document(file_path)
        table = doc.tables[0]  # 假设第一页只有一个表格
        cell = table.cell(1, 8)  # 获取第1行第8列的单元格
        cell.text = ''  # 清空单元格内容
        doc.save(new+r'\{}'.format(file_name))

2、打开删除过内容的docx文件并转换成pdf文件(存在“05jpg上传”里)

print('--------2、打开docx文件并转换成pdf文件---------')
from docx import Document
from docx2pdf import convert
import os,time

folder_path = new
for file_name in os.listdir(folder_path):
    if file_name.endswith('.docx'):
        file_path = os.path.join(folder_path, file_name)
        pdf_path = file_path.replace('.docx', '.pdf')        
        # 打开docx文件并转换成pdf文件
        convert(file_path, pdf_path)
        time.sleep(1)

转成pdf的时间比较长

3、把每个PDF的每页保存为png图片(一个PDF可能有4-6份)

'--------3、把PDF保存为png图片---------')
import fitz  # PyMuPDF
from PIL import Image

# 遍历123文件夹下的所有.pdf文件
folder_path = new
for file_name in os.listdir(folder_path):
    if file_name.endswith('.pdf'):
        file_path = os.path.join(folder_path, file_name)

        # 打开PDF文件
        pdf_document = fitz.open(file_path)

        # 逐页将PDF文件转换为PNG图片
        for page_num in range(pdf_document.page_count):
            page = pdf_document[page_num]
            image_list = page.get_pixmap()

            # 保存为PNG图片
            image = Image.frombytes("RGB", [image_list.width, image_list.height], image_list.samples)
            image.save(f"{os.path.splitext(file_path)[0]}{page_num+1}.png")

        pdf_document.close()

实际上我只需要每个png图片的第一张,也就是以“1.png”结尾的图片

4、删除“05jpg”文件夹下的所有.docx、.pdf和.png文件,如果png文件名称最后是1. png需要保留。

print('------4、删除123文件夹下的所有.docx、.pdf和.png文件,如果png文件名称最后是1. png需要保留。---------')
import os


folder_path = new
files_to_keep = set()  # 用于存储需要保留的文件名

# 遍历123文件夹下的所有文件
for file_name in os.listdir(folder_path):
    file_path = os.path.join(folder_path, file_name)
    
    if file_name.endswith('.png') and not file_name.endswith('1.png'):
        os.remove(file_path)  # 删除不符合条件的.png文件
    elif file_name.endswith('.png'):
        files_to_keep.add(file_path)  # 将符合条件的文件路径加入到files_to_keep中
    elif file_name.endswith('.docx') or file_name.endswith('.pdf'):
        os.remove(file_path)  # 删除.docx和.pdf文件

运行后瞬间删除了pdf、docx 、和png,只有最后5个字符是“1.png”的文件被保留下来

通过缩略图,可以看到每张图片正好一页,没有缺少内容,反思部分也留出空格。(如果这里出现框架到下一页,少了一部分,可以继续回到前面几步,修改好第一页的框架结构,然后再次用转图代码进行反复制作,直到让图片数量与周次相同)

上传图片完成了,等待UIBOT上传

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

开机一直提示dll文件缺失的修复方法,轻松解决弹窗dll问题

当我们在启动计算机并进入操作系统的过程中,如果遇到了开机即刻弹出窗口提示“dll文件缺失”的情况,这究竟是怎么一回事呢?首先,我们需要理解“dll”是Dynamic Link Library(动态链接库)的缩写,…

智海Mo 平台与 Datawhale 携手浙江大学,共襄 AI+X 高校行!

2024年3月9日,一场以"AIX 高校行"为主题的活动在浙江大学成功举办。本次活动由 Datawhale 与杭州市人工智能学会主办,浙江大学人工智能研究所、浙江大学控制科学与工程学院联合主办,浙江大学学生人工智能协会承办,趋动云…

49、东北大学、阿尔伯塔大学:MVS-GCN多视角脑区、具有先验脑结构学习的图模型[GCN六元理论识别所有EEG!]

本文由东北大学医学图像智能计算教育部重点实验室&#xff0c;加拿大阿尔伯塔大学于2022年1.19日发表于<Computers in Biology and Medicine> JCR\IF: Q1\7.7 Abstract&#xff1a; 目的:近年来&#xff0c;脑功能网络(FBN)已被用于神经系统疾病的分类&#xff0c;如自…

【nvm】下载安装,管理 node

nvm管理node 一. 阐述二. 需求三. nvm3.1 下载3.2 安装3.3 验证是否安装成功 四. 重启电脑五. 管理成功六. 报错6.1 nvm安装后node无效&#xff08;nvm入手&#xff0c;解决nvm use 不成功问题&#xff09;6.2 安装nvm后node无效&#xff08;node版本入手&#xff0c;直接替换更…

Kubeadm部署K8s

Kubeadm部署K8s 集群规划&#xff1a; Master节点规划: Node节点规划: 安装要求 在开始之前&#xff0c;部署Kubernetes集群机器需要满足以下几个条件&#xff1a; 操作系统 CentOS7.x-86_x64 硬件配置&#xff1a;2GB或更多RAM&#xff0c;2个CPU或更多CPU&#xff0c;硬盘…

Capture One 23:光影魔术师,细节掌控者mac/win版

Capture One 23&#xff0c;不仅仅是一款摄影后期处理软件&#xff0c;它更是摄影师们的得力助手和创意伙伴。这款软件凭借其卓越的性能、丰富的功能和前沿的技术&#xff0c;为摄影师们带来了前所未有的影像处理体验。 Capture One 23 软件获取 Capture One 23以其强大的色彩…

rt-thread组件之audio组件(结合wavplayer包使用)

前言 继上一篇RT-Thread组件之Audio框架i2s驱动的编写&#xff0c;应用层使用rt-thread软件包里面的wavplayer组件使用过程中wavplayer版本和rt-thread 5.0版本出现一个小的版本不兼容问题,这里做个记录 wavplayer软件包 问题出现的地方 源码应该修改为 版本对比

【消息队列开发】 背景知识与需求分析

文章目录 &#x1f343;前言&#x1f332;消息队列背景知识&#x1f333;需求分析&#x1f6a9;核心概念&#x1f6a9;核心API&#x1f6a9;交换机类型(Exchange Type)&#x1f6a9;持久化&#x1f6a9;网络通信&#x1f6a9;消息应答&#x1f6a9;模块划分 ⭕总结 &#x1f34…

2024VLN综述(1)

1 INTRODUCTION 视觉语言导航(VLN)[12-14]作为体现智能领域的一个重要研究方向,融合了人工智能、自然语言处理、计算机视觉和机器人技术。其目的是通过理解自然语言指令和解释视觉信息,使代理能够在虚拟和真实环境中导航[15-17]。这种方法不仅为更自然、更高效的人机交互铺…

初识Jwt(结合SpringBoot)

最近接触JWT&#xff0c;顺便记录下 目录 JWT简介JWT组成JWT使用流程JWT实战引入Maven核心代码 JWT优缺点 JWT简介 JWT是JSON Web Token的简称&#xff0c;是目前流行的跨域的认证解决方案&#xff0c;作为传递信息的凭证&#xff0c;它是由服务器端签发的且是带签名的&#x…

Vue-Router学习笔记

文章目录 一、Vue Router简介二、简单使用三、动态路由匹配3.1 响应路由参数的变化3.2 捕获所有路由或 404 Not found 路由 四、路由的匹配语法4.1 在参数中自定义正则4.2 可重复的参数4.3 Sensitive 与 strict 路由配置4.4 可选参数 五、嵌套路由嵌套的命名路由 六、编程式导航…

CMAQ空气质量模式在移动源污染控制中的技术应用

CMAQ&#xff08;Community Multiscale Air Quality&#xff09;空气质量模式是一种先进的空气质量模拟工具&#xff0c;广泛应用于环境科学、气象学以及大气污染控制等领域。该模式能够综合考虑大气中各种污染物的传输、扩散、转化和沉降过程&#xff0c;从而实现对空气质量的…

部署MGR集群(OpenEuler版步骤详细可参考)

MGR集群理论知识&#xff1a; MGR具备以下几个特点&#xff1a; 基于shared-nothing模式&#xff0c;所有节点都有一份完整数据&#xff0c;发生故障时可以直接切换。 MGR提供了数据一致性保障&#xff0c;默认是最终一致性&#xff0c;可根据业务特征需要自行调整一致性级别…

[Prob] Definition 3.7.5 (Function of two r.v.s)

定义3.7.5&#xff08;两个随机变量的函数&#xff09;&#xff1a;给定一个样本空间 \( S \) 的实验&#xff0c;如果 \( X \) 和 \( Y \) 是映射 到X(s) 和 Y(s) 的随机变量&#xff0c;那么 g(X, Y) 就是映射 s 到 g(X(s), Y(s)) 的随机变量。 请注意&#xff0c;我…

IEEE802.11v协议介绍

IEEE802.11v协议简介 协议全称&#xff1a;无线网络管理(Wireless Network Management) 批准日期&#xff1a;2011年2月 协议状态&#xff1a;并入802.11-2012 协议别名&#xff1a;BSS过渡管理 主要功能 支持AP和STA间交换&#xff1a;关于RF环境和拓扑状态的信息&#…

C#,精巧实用的代码,文件夹的时间整理工具FolderTime及其源代码

一、文件夹LastWriteTime 我们在Windows资源管理器中看到的文件夹时间,是什么时间呢? 按微软的解释,应该是该文件夹的最后写入(修改)的时间,称为 LastWriteTime。 DirectoryInfo root = new DirectoryInfo(@"c\root");DateTime ft = root.LastWriteTime; La…

C语言 ##程序填空题## 总结

以下仅个人总结。 1&#xff0c;下面程序的功能是计算1-35-7.....-99101的值&#xff0c;填空。 void main() {int i,t, s 0, sign 1;for (i 1; i < 101; i 2) {t i * sign;s t;sign -sign;}printf("%d", s); } 2&#xff0c;下面程序的功能是输出一个整…

Vue2利用创建a标签实现下载本地静态文件到本地电脑上的功能

最近PC项目遇到一个需求&#xff0c;那就是需要前端下载前端代码包里的前端文件到本地&#xff0c;并且可以给下载下来的文件名指定任意的文件名&#xff0c;如下图所示&#xff0c;在前端代码里public里的statics里有个静态文件zswj.pem&#xff0c;页面上有个下载按钮&#x…

短剧APP搭建,短剧时代下的收益方向

近年来&#xff0c;节奏快、剧情爽的短剧瞬间爆火&#xff0c;吸引了无数的观众&#xff0c;这也使得众多短剧制作商赚的盆满钵满&#xff0c;预计再过几年短剧市场规模将达到千亿元&#xff01;短剧市场的发展将不可估量。 随着各类短剧的出现&#xff0c;观众也急需观看短剧…

音视频开发_视频基础知识

RGB彩色原理 RGB 是表示红色 (Red)、绿色 (Green) 和蓝色 (Blue) 三种颜色的色彩模式&#xff0c;这是一种加色法。在 RGB 色彩模式中&#xff0c;通过不同比例的红、绿、蓝三原色的混合可以得到各种不同颜色。这是因为人眼对红、绿、蓝三种颜色特别敏感&#xff0c;通过它们的…