【办公类-21-01】20240117育婴员操作题word合并1.0

news2024/11/25 22:38:45

 

背景需求:

最近学校组织老师们学习“育婴员”高级,每周学习2题操作,所以我是把每个学习内容单独做在一个word文件里

d3039bfb03bc4148b21aaf657cdb0f02.png

 

上周8套保健操作学完了,需要整理,并将8份Word文件合并

7960bf7caa7d4b5b808208ed5f3d83e4.png

第一步:doc装docx

合并时程序报错,我才发现这8份里面有的是docx,有的是doc,所以需要全部转成docx

6184b55b35954cf8bdced08f60131859.png

'''doc转docx'''

import os
from win32com import client as wc
import time
#  注意:目录的格式必须写成双反斜杠
path="C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\育婴师操作题目\\"  # 使用绝对地址(可更改)
files=[]
for file in os.listdir(path):
    # 找出文件中以.doc结尾并且不以~$开头的文件(~$是为了排除临时文件)
    if file.endswith('.doc') and not file.startswith('~$'): 
        files.append(path+file)
        for file in files:
            word = wc.Dispatch("Word.Application")
            print("已处理文件:"+files[0])
            # 打开文件
            doc = word.Documents.Open(files[0])
            # 将文件另存为.docx
            doc.SaveAs("{}x".format(files[0]), 12)    # 12表示docx格式
            doc.Close()
            # 删除原doc文件
            os.remove(files[0])
            # 在files数组中删除第一个文件地址(已处理的文件地址)
            del files[0]
            word.Quit()
            time.sleep(0.5) # 暂停0.5秒

26653ba28a70448a81141b845ab018a3.png

第二步,word合并在一起

问了AI对话大师找了很多代码,测试很多次,发现合并后,原来每个word里面的红蓝字体都消失了……

现在是最后的结果

1、获取8份文件的路径

132912579bf94f479203cea927f585c7.png

2d420d90da6540d1a95f6ac70236e6f1.png

2、读取第一份01酒精擦浴,作为模板

be03f2d526da43eeaa1f9a53677a92d0.png

然后把第2-8个文件内容复制到酒精擦浴内容的的后面

fc00c9380f1a4f97a048f29c4e281ae6.png

第3步:由于每份的字体、间距不同,所以最后合并版里面也需要整理统一格式

00a787dffe1849e7b7407bd4dbb2a997.png

fd9ff4509c424549a341f89936610334.png

结果展示:

389299f3cade457091ded4cd1149f32f.png

5f7c7e7ae46c46e485e0e0b10e101c4a.png

6d525cadfde044c792583958869ea4d4.png

代码展示:

'''

目的:1.0育婴师操作题8套Word合并在一起,便于打印整理.
作者:阿夏(AI对话大师)
日期:2024年1月17日


'''

from docx import Document
import os
from docx.enum.text import WD_BREAK# 换页符号
from docx.enum.section import WD_SECTION
from docx.shared import Pt,Inches, Cm

# 指定要读取的文件夹路径
folder_path = r'C:\Users\jg2yXRZ\OneDrive\桌面\育婴师操作题目'
# 获取文件夹内所有文件名
file_names = os.listdir(folder_path)
# 拼接文件路径
doc_paths = [os.path.join(folder_path, file_name) for file_name in file_names]
# ['C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\育婴师操作题目\\01酒精擦浴 - 副本.docx', 'C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\育婴师操作题目\\01酒精擦浴.docx', 'C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\育婴师操作题目\\02小儿发高热置冰袋降温.docx', 'C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\育婴师操作题目\\03小儿在喂食时突然惊厥如何处理.docx', 'C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\育婴师操作题目\\04怎样做晨检,怎样问简单病史,怎样处理.docx', 'C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\育婴师操作题目\\05咽喉和气管异物急救方法.docx', 'C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\育婴师操作题目\\06下肢股骨骨折的包扎.docx', 'C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\育婴师操作题目\\07心脏按摩和人工呼吸操作.docx', 'C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\育婴师操作题目\\08休克的急救处理程序.docx', 'C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\育婴师操作题目\\模板.docx']



# 打开一个新的文档
merged_doc = Document(r'C:\Users\jg2yXRZ\OneDrive\桌面\育婴师操作题目\01酒精擦浴.docx')

# 要复制的多个Word文件列表
file_list = doc_paths

for file in file_list[1:]:
    doc = Document(file)
    # # 在每个文件内容之前插入分页符号
    # if merged_doc.paragraphs: 
    #     merged_doc.add_paragraph().add_run().add_break(WD_BREAK.PAGE)
    
    
    # 复制文件的内容和格式到合并文档
    for element in doc.element.body:        
        merged_doc.element.body.append(element)

merged_doc.save(r'C:\Users\jg2yXRZ\OneDrive\桌面\育婴师操作题目\20240117育婴师三级保健操作题8道(需要彩色打印).docx')

gs_doc = Document(r'C:\Users\jg2yXRZ\OneDrive\桌面\育婴师操作题目\20240117育婴师三级保健操作题8道(需要彩色打印).docx')
# 遍历文档中的所有段落和运行
for paragraph in gs_doc .paragraphs:
    for run in paragraph.runs:
        # 将字体改为宋体,字号改为20磅
        run.font.name = '宋体'
        run.font.size = Pt(12)
        paragraph.paragraph_format.line_spacing = Pt(24)

#             # 设置整个文档的页边距为1英寸
# section = gs_doc.sections[0]
# section.left_margin = Cm(1)
# section.right_margin =Cm(1)
# section.top_margin = Cm(1)
# section.bottom_margin = Cm(1)
gs_doc.save(r'C:\Users\jg2yXRZ\OneDrive\桌面\育婴师操作题目\20240117育婴师三级保健操作题8道(需要彩色打印).docx')



问题:

1、字体、字体大小、行距可以用代码设置,

2、但是页边距、分页符还是手动调整的。不方便。

3、手动另存为pdf

067f948585d94ceaa770eff5d6269125.png

后续继续探索Word合并的格式保留问题、自动格式,自动转pdf

 

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

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

相关文章

Kafka-消费者-KafkaConsumer分析-ConsumerCoordinator

在前面介绍了Kafka中Rebalance操作的相关方案和原理。 在KafkaConsumer中通过ConsumerCoordinator组件实现与服务端的GroupCoordinator的交互,ConsumerCoordinator继承了AbstractCoordinator抽象类。 下面我们先来介绍AbstractCoordinator的核心字段,如…

mysql 容器化安装(docker)离线和在线

前言:在部署hive或airflow 升级过程中,总需要一个对应的数据库存储元数据,一个轻量级的mysql容器刚刚好。轻量、可快速移植、具有隔离性。 文章目录 1、查看机器版本2、安装 docker3、启动docker 服务4、docker 常用命令docker5、拉取mysql …

更适合3D项目的UI、事件交互!纯国产数字孪生引擎持续升级中!!!

UI和事件交互是3D可视化项目中最常见的模块,主要用于信息添加、展示,用来确保按照用户需求呈现内容并完成交互。 平时工作在进行UI和交互设计时,经常出现以下问题:UI过于复杂导致3D项目内交互效率低下,或者是结合3D项目…

ubuntu18.04 安装mysql(命令)

1.安装MySQL #命令1 sudo apt-get update #命令2 sudo apt-get install mysql-server 2.配置MySQL sudo mysql_secure_installation 2.2 检查mysql服务状态 systemctl status mysql.service 3.配置远程访问 在Ubuntu下MySQL缺省是只允许本地访问的 3.1 首先用根用户进入…

NR SCell Addition/Modification/Release过程详解

当配置 CA 时,UE 与网络只会有一个RRC 连接。 在 RRC 连接建立/重建/切换时,只有一个serving cell会提供 NAS mobility info,在 RRC connection reestablishment/handover时,同样只有一个serving cell会提供security info&#xf…

关于KT6368A双模蓝牙芯片的BLE在ios的lightblue大数量数据测试

测试简介 关于KT6368A双模蓝牙芯片的BLE在ios的lightblue app大数量数据测试 测试环境:iphone7 。KT6368A双模程序96B6 App:lightblue ios端 可以打开log日志查看通讯流程 测试数据:长度是1224个字节,单次直接发给KT6368A&a…

C++ mapsetOJ

目录 1、138. 随机链表的复制 2、692. 前K个高频单词 3、349. 两个数组的交集 1、138. 随机链表的复制 /* // Definition for a Node. class Node { public:int val;Node* next;Node* random;Node(int _val) {val _val;next NULL;random NULL;} }; */class Solution { pub…

vscode开发java项目

安装java扩展 创建项目 vscode命令行面板搜索java命令行 出现如下提示 No build tools构建项目如下 java项目使用vscode单独打开文件夹(工作区中运行有问题),vscode中可直接点击右上角运行按钮执行 maven中spring boot项目 代码错误可以点…

Chrome 浏览器插件 cookies API 解析

Chrome.cookie 前端开发肯定少不了和 cookie 打交道,此文较详细的介绍下 chrome.cookie 的 API 以及在 popup、service worker、content 中如何获取的 一、权限(Permissions) 如果需使用 Cookie API,需要在 manifest.json 文件…

第90讲:MySQL数据库主从复制集群原理概念以及搭建流程

文章目录 1.MySQL主从复制集群的核心概念1.1.什么是主从复制集群1.2.主从复制集群中的专业术语1.3.主从复制集群工作原理1.4.主从复制中的小细节1.5.搭建主从复制集群的前提条件1.6.MySQL主从复制集群的架构信息 2.搭建MySQL多实例环境2.1.在mysql-1中搭建身为主库的MySQL实例2…

2024年1月中国数据库排行榜: OPOT 组合续写贺新年,达梦、腾讯发力迎升势

2024年开局,墨天轮中国数据库流行度排行火热出炉,292个国产数据库齐聚榜单。整体来看,榜单前十整体变化不大,“O-P-O”格局稳固,前五位名次未发生变动。但新年伊始,各家数据库热度上升迅猛,分数…

Linux下进程子进程的退出情况

进程的退出分为了两大类,一类是正常的退出,另一类是非正常的退出。 正常退出时有五种情况,分别是 ①main函数调用return ②进程调用exit(),标准c库 ③进程调用_exit()或者_Exit(),属于系统调用 ④进程最后一个线程返回 ⑤最…

密码产品推介 | 沃通安全电子签章系统(ES-1)

产品介绍 沃通安全电子签章系统(ES-1)是一款基于密码技术、完全自主研发的商用密码产品,严格遵循国家密码管理局制定的相关标准,可为企业和个人提供安全、合规的电子签章功能服务。产品的主要用途是为各类文书、合同、表单等电子…

Java-NIO 开篇(1)

NIO简介 高性能的Java通信,离不开Java NIO组件,现在主流的技术框架或中间件服务器,都使用了Java NIO组件,譬如Tomcat、 Jetty、 Netty、Redis、RabbitMQ等的网络通信模块。在1.4版本之前, Java IO类库是阻塞式IO&…

如何将信用卡或借记卡关联到您的PayPal账户

第1步:在PayPal控制面板中关联 您在登录到PayPal账户之后,前往顶部菜单条中的 “钱包”,然后点击“关联卡”。 第2步:输入您的信用卡或借记卡详情 第3步:添加新的借记卡或信用卡 使用PayPal绑定信用卡吧,…

Node.js基础---fs文件系统 读取和写入

什么是nodejs? 脚本语言需要一个解析器才能运行,JavaScript是脚本语言,在不同的位置有不一样的解析器,如写入html的js语言,浏览器是它的解析器角色。而对于需要独立运行的JS,nodejs就是一个解析器。 每一种解析器都是…

vue3项目eslint配置、配置prettier(格式化配置)

文章链接: 全部配置链接 第一步:eslint配置、配置prettier(代码格式化):点击链接 (1) .eslint.cjs—eslint配置文件 (2).eslintignore—校验忽略文件 (3).prettierrc.json添加规则 (4).prettierignore忽略文件 prettierrc规范说明: 第二步:styleLint配置 样式链接 第三…

迭代器模式介绍

目录 一、迭代器模式介绍 1.1 迭代器模式定义 1.2 迭代器模式原理 1.2.1 迭代器模式类图 1.2.2 模式角色说明 1.2.3 示例代码 二、迭代模式的应用 2.1 需求说明 2.2 需求实现 2.2.1 抽象迭代类 2.2.2 抽象集合类 2.2.3 主题类 2.2.4 具体迭代类 2.2.5 具体集合类 …

云边协同的 RTC 如何助力即构全球实时互动业务实践

作者:即构科技 由 51 CTO 主办的“WOT 全球技术创新大会 2023深圳站”于 11 月 24 日 - 25 日召开,即构科技后台技术总监肖潇以“边缘容器在全球音视频场景的探索与实践”为主题进行分享。 边缘计算作为中心云计算的补充,通过边缘容器架构和…

scalpel一款命令行漏洞扫描工具,支持深度参数注入,拥有一个强大的数据解析和变异算法

免责声明 由于传播、利用本文章所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢&#xf…