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

 

背景需求:

最近学校组织老师们学习“育婴员”高级,每周学习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])# 将文件另存为.docxdoc.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_pathsfor 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.hqwc.cn/news/413937.html

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

相关文章

springBoot如何动态切换数据源

项目背景:最近公司中需要搭建mysql的主从,想着在spring中集成多数据源。mybatisplus提供的有插件用DS注解就能够实现,但是这种在mysql服务宕机的情况下不能够进行自动切换,于是就想着用aop自定义注解的方式来实现 项目实现效果&a…

JCIM | 在gromacs中进行恒定ph模拟

恒定pH分子动力学(MD)是一种强大的技术,可以动态地改变残留物的质子化状态,从而能够以一种以前不可能实现的方式研究pH相关性。最近,这样一项技术引入到了Gromacs中。为了简化和自动化设置此过程,来自瑞典的研究团队提出了一个名为…

【机器学习】调配师:咖啡的完美预测

有一天,小明带着一脸期待找到了你这位数据分析大师。他掏出手机,屏幕上展示着一份详尽的Excel表格。“看,这是我咖啡店过去一年的数据。”他滑动着屏幕,“每个月的销售量、广告投入,还有当月的气温,我都记录…

Yolov8_使用自定义数据集训练模型1

前面几篇文章介绍了如何搭建Yolov8环境、使用默认的模型训练和推理图片及视频的效果、并使用GPU版本的torch加速推理、导出.engine格式的模型进一步利用GPU加速,本篇介绍如何自定义数据集,这样就可以训练出识别特定物体的模型。 《Yolov8_使用自定义数据…

细说JavaScript BOM之window常用子对象

一、location location翻译过来就是位置的意思,打开浏览器窗口大家可以看到导航栏上有一个URL地址。 // 例如 https://www.zhishunet.com// 分心可知,它使用的网络协议是https 服务器名称是 www,zhishunet.comlocation常用对象属性 属性描述search设置…

用Pytorch实现线性回归模型

目录 回顾Pytorch实现步骤1. 准备数据2. 设计模型class LinearModel代码 3. 构造损失函数和优化器4. 训练过程5. 输出和测试完整代码 练习 回顾 前面已经学习过线性模型相关的内容,实现线性模型的过程并没有使用到Pytorch。 这节课主要是利用Pytorch实现线性模型。…

UE5 C++ 学习笔记 UBT UHT 和 一些头文件

总结一些似懂非懂的知识点,从头慢慢梳理。 任何一个项目都有创建这些三个.cs。 这个是蓝图转C 这个是本身就是C项目,应该就是多了一个GameModeBase类 Build.cs包含了每个模块的信息,表明了这个项目用到了哪一些模块。该文件里的using UnrealBuilTool 是…

学习笔记之——3D Gaussian SLAM,SplaTAM配置(Linux)与源码解读

SplaTAM全称是《SplaTAM: Splat, Track & Map 3D Gaussians for Dense RGB-D SLAM》,是第一个(也是目前唯一一个)开源的用3D Gaussian Splatting(3DGS)来做SLAM的工作。 在下面博客中,已经对3DGS进行了…

ELK 分离式日志

目录 一.ELK组件 ElasticSearch: Kiabana: Logstash: 可以添加的其它组件: ELK 的工作原理: 二.部署ELK 节点都设置Java环境: 每台都可以部署 Elasticsearch 软件: 修改elasticsearch主配置文件&…

LeetCode、2462. 雇佣 K 位工人的总代价【中等,最小堆+双指针】

文章目录 前言LeetCode、2462. 雇佣 K 位工人的总代价【中等,最小堆双指针】题目及类型思路及代码实现 资料获取 前言 博主介绍:✌目前全网粉丝2W,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者、专注于Java后…

Linux CentOS stream9 nmcli

nmcli命令是redhat7或者centos7之后的命令,该命令可以完成网卡上所有的配置工作,并且可以写入配置文件,永久生效。 一、前期准备 在讨论、学习与训练nmcli命令前,必须明确几点: 1.开启NetworkManager 使用nmcli命令…

2024.1.19每日一题

LeetCode 2809.使数组和小于等于x的最少时间 2809. 使数组和小于等于 x 的最少时间 - 力扣&#xff08;LeetCode&#xff09; 题目描述 给你两个长度相等下标从 0 开始的整数数组 nums1 和 nums2 。每一秒&#xff0c;对于所有下标 0 < i < nums1.length &#xff0c…