当前位置: 首页 > news >正文

win32com库基于wps对Word文档的基础操作

win32com库基于wps对Word文档的基础操作

文章目录

    • win32com库基于wps对Word文档的基础操作
      • 新建/打开文档
      • 段落操作(Paragraph)
      • 字体设置(Font)
      • 图表操作(Shape)

参考链接: WAS API手册

新建/打开文档

import win32com
import win32com.client as win32
# 启动WPS进程
word_obj = win32.gencache.EnsureDispatch('KWPS.Application')
word_obj .Visible = 1
# 打开文件
dst_file = "你的文档路径"
dst_doc = word_obj.Documents.Open(dst_file)
# 新建文档 返回一个空白文档对象
dst_doc = word_obj.Documents.Add(dst_file)

段落操作(Paragraph)

# Paragraphs 返回所选内容、范围或文档中所有的段落的集合
# 获取全部段落
dst_Paragraphs = dst_doc.Paragraphs
# 获取第1段
dst_Paragraph = dst_doc.Paragraphs(1)# 段落方法
dst_Paragraph.Delete() # 删除段落dst_Paragraph.Select() # 选中段落# 设置段落水平对齐方式为居中对齐 其余对齐方式参考官方文档中的枚举变量 WdParagraphAlignment
dst_Paragraph.Alignment = 1# 设置段落垂直对齐方式为中心对齐 其余对齐方式参考官方文档中的枚举变量 WdBaselineAlignment
dst_Paragraph.BaseLineAlignment = 1# 设置段落段前、段后间距
dst_Paragraph.LineUnitBefore= 1 # 段前 单位 行
dst_Paragraph.LineUnitAfter = 1 # 段后 单位 行
dst_Paragraph.SpaceBefore = 12 # 段前 单位 磅
dst_Paragraph.SpaceAfter = 12 # 段后 单位 磅# 设置段落大纲级别 # 若段落样式为标题样式,则无法修改
dst_Paragraph.OutlineLevel = 1# 段落左缩进和右缩进
dst_Paragraph.CharacterUnitLeftIndent = 0 # 左缩进 单位 字符
dst_Paragraph.CharacterUnitRightIndent = 0 # 右缩进 单位 字符
dst_Paragraph.LeftIndent = 0 # 左缩进 单位 磅
dst_Paragraph.RightIndent = 0 # 右缩进 单位 磅# 段落首行缩进、悬挂缩进 为正值时表示首行缩进,负值时表示悬挂缩进
dst_Paragraph.CharacterUnitFirstLineIndent = 2 #单位 字符
dst_Paragraph.FirstLineIndent = 12 #单位 磅# 设置段落行距为单倍行距 其余行距类型参考官方文档中的枚举变量 WdLineSpacing
dst_Paragraph.LineSpacingRule = 0# 若设置段落行距类型为固定值或多倍行距时 需要单独设置 LineSpacing属性
dst_Paragraph.LineSpacing = 12 # 其中一行等于12磅 或者使用 word_obj.LinesToPoints(1)进行计算
'''
WPS中各单位转换为磅值关系及方法如下:
1行 = 12磅 LinesToPoints()
1cm = 28.35磅 CentimetersToPoints()
1毫米 = 2.85磅 MillimetersToPoints()
1英寸 = 72磅 InchesToPoints()
像素 --> 磅 PixelsToPoints()
'''

字体设置(Font)

Paragraph = dst_doc.Paragraphs(1) # 获取第一段
'''
Range 表示对象在word文档中的连续区域
'''
# 设置段落字体中文样式
Paragraph.Range.Font.NameFarEast = "楷体_GB2312" # 设置中文字体
# 设置段落字体英文样式 其余样式详见开发文档
Paragraph.Range.Font.Name = "Times New Roman"
# 复杂文本
Paragraph.Range.Font.NameAscii = "Times New Roman"
# 设置字体大小
Paragraph.Range.Font.Size = 18 # 单位 磅 小二为18磅
# 设置字号
Paragraph.Range.Font.SizeFarEast = 3 #设置字体为3号# 字体加粗
Paragraph.Range.Font.Bold = True
# 字体倾斜
Paragraph.Range.Font.Italic = True
# 设置字符间距
Paragraph.Range.Font.Spacing = 1

图表操作(Shape)

# 获取第一个图表对象
dst_shape= dst_doc.Shapes(1)
# 设置大小
dst_shape.Height = 128 # 高
dst_shape.Width = 128 # 宽# 设置文字环绕
dst_shape.WrapFormat.Type = win32com.client.constants.wdWrapSquare  # 四周型 (wdWrapSquare)
dst_shape.WrapFormat.Side = win32com.client.constants.wdWrapBoth  # 环绕文字两边
# 设置四周边距
dst_shape.WrapFormat.DistanceTop = 0  # 上:0厘米
dst_shape.WrapFormat.DistanceBottom = 0  # 下:0厘米
dst_shape.WrapFormat.DistanceLeft = self.word.CentimetersToPoints(0.32)  # 左:0.32厘米
dst_shape.WrapFormat.DistanceRight = self.word.CentimetersToPoints(0.32)  # 右:0.32厘米
# 设置位置为页边距
dst_shape.RelativeHorizontalPosition = 0  # 1代表页边距
dst_shape.RelativeVerticalPosition = 0  # 1代表页边距
dst_shape.Top = 0
dst_shape.Left = 0
dst_shape.WrapFormat.AllowOverlap = False # 不允许重叠
嵌入式图表操作(InlineShape)
表格处理(Table、Row、Column、Cell)
dst_table = dst_doc.Tables(1)
# 获取行|列数
row_count = dst_table.Rows.Count
col_count = dst_table.Columns.Count
# 设置行高 单位 磅
dst_table.Rows(1).Height = 20
# 设置列宽
dst_table.Columns(1).Width = 20
# 设置表格的所有行的行高
dst_table.Rows.Height = 20# 设置单个单元格的宽高 PS设置时会自动修改其所在行和列的行高和列宽
dst_table.Cell(1,1).Height = 20
dst_table.Cell(1,1).Width = 20# 设置表格文本样式
dst_table.Cell(1,1).Range.Text = "设置文本"
# 设置字体样式(其余属性请参考Font设置)
dst_table.Cell(1,1).Font.Name = ""
# 调整单元格边距
dst_table.Rows(1).TopPadding = 20 # 上边距
dst_table.Rows(1).BottomPadding = 20 # 下边距
dst_table.Rows(1).LeftPadding = 20 # 左边距
dst_table.Rows(1).RightPadding = 20 # 右边距

相关文章:

win32com库基于wps对Word文档的基础操作

win32com库基于wps对Word文档的基础操作 文章目录 win32com库基于wps对Word文档的基础操作新建/打开文档段落操作(Paragraph)字体设置(Font)图表操作(Shape) 参考链接: WAS API手册 新建/打开文档 import win32com import win32com.client as win32 # 启动WPS进程 word_obj …...

Kubernetes 网络之深度探索:网络模型与 CNI 插件

Kubernetes 网络之深度探索:网络模型与 CNI 插件 在 Kubernetes 中,网络是一个至关重要的组成部分。它不仅决定了容器之间如何通信,还影响着整个集群的可扩展性和稳定性。本节课将深入剖析 Kubernetes 的网络模型以及 CNI(Container Network Interface)网络插件。 一、K…...

Go 模块管理教程:go.mod 与依赖版本控制

Go 模块管理教程:go.mod 与依赖版本控制 Go 从版本 1.11 开始引入了 Go Modules,通过 go.mod 文件来管理项目的依赖关系和版本。Go 模块系统大大简化了 Go 项目的依赖管理,解决了之前 GOPATH 模式的许多问题。本教程将介绍如何使用 Go 模块管…...

大数据 ETL + Flume 数据清洗 — 详细教程及实例(附常见问题及解决方案)

大数据 ETL Flume 数据清洗 — 详细教程及实例 1. ETL 和 Flume 概述1.1 ETL(Extract, Transform, Load)1.2 Flume 概述 2. Flume 环境搭建2.1 下载并安装 Flume2.2 启动 Flume 3. Flume 配置和常见 Source、Sink、Channel3.1 Flume Source3.2 Flume Si…...

鸿蒙next版开发:订阅应用事件(ArkTS)

在HarmonyOS 5.0中,ArkTS提供了强大的应用事件订阅机制,允许开发者订阅和处理系统或应用级别的事件。这一功能对于监控应用行为、优化用户体验和进行性能分析至关重要。本文将详细介绍如何在ArkTS中订阅应用事件,并提供示例代码进行说明。 应…...

F litter 开发之flutter_local_notifications

flutter_local_notifications 消息通知 flutter_local_notifications地址 flutter_local_notifications: ^18.0.1class NotificationHelper {//工厂模式调用该类时,默认调用此方法,将实例对象返回出去static NotificationHelper? _instance null;sta…...

springboot参数校验

springboot 参数校验 Validated 以及 Valid - 唏嘘- - 博客园 SpringBoot参数校验Validated、Valid_springboot validate-CSDN博客...

Spring生态学习路径与源码深度探讨

引言 Spring框架作为Java企业级开发中的核心框架,其丰富的生态系统和强大的功能吸引了无数开发者的关注。学习Spring生态不仅仅是掌握Spring Framework本身,更需要深入理解其周边组件和工具,以及源码的底层实现逻辑。本文将从Spring生态的学…...

C++:set详解

文章目录 前言一、set概念介绍二、set的使用1. 插入删除相关2. 查找相关1)find2)count3)lower_bound与upper_bound4)equal_range 三、set的值是不能修改的原理四、基于哈希表的set总结 前言 根据应用场景的不同,STL总…...

(一)- DRM架构

一,DRM简介 linux内核中包含两类图形显示设备驱动框架: FB设备:Framebuffer图形显示框架; DRM:直接渲染管理器(Direct Rendering Manager),是linux目前主流的图形显示框架; 1&am…...

Docker了解

Docker是一种容器化技术,它可以将应用程序和其依赖项打包到一个独立的、可移植的容器中,以便在不同的环境中运行。Docker基于Linux操作系统的容器化技术,可以提供更轻量、更快速、更灵活、更一致的应用部署和管理方式。 Docker的基本概念包括…...

【DL】YOLO11 OBB目标检测 | 模型训练 | 推理

本文进行YOLO11的旋转目标检测任务,旋转目标检测能够更精确地定位和描述那些非水平排列的目标,比如倾斜的飞机、船舶等。在原始的目标检测中,添加一个角度预测,实现定向边界框检测。 话不多说,先来个效果图!!! YOLO11中的旋转目标检测的特点 ▲更精确的定位:通过使用…...

vue读取本地excel文件并渲染到列表页面

1.安装插件(版本0.18.5) npm i xlsx 2.封装插件 <template><div class"container"><slot></slot></div> </template><script> import * as XLSX from xlsx export default {name: ReadExcel,props: {filePath: {type: …...

github 以及 huggingface下载模型和数据

runningcheese/MirrorSite: 镜像网站合集 (github.com) huggingface 下载模型和数据使用snapshot_download的方法 不会修改HuggingFace模型下载默认缓存路径&#xff1f;一篇教会你!_huggingface默认下载路径-CSDN博客 下载模型 使用snapshot_download 使用snapshot_down…...

使用 Vue 配合豆包MarsCode 实现“小恐龙酷跑“小游戏

作者&#xff1a;BLACK595 “小恐龙酷跑”&#xff0c;它是一款有趣的离线游戏&#xff0c;是Google给Chrome浏览器加的一个有趣的彩蛋。当我们浏览器断网时一只像素小恐龙便会出来提示断网。许多人认为这只是一个可爱的小图标&#xff0c; 但当我们按下空格后&#xff0c;小恐…...

51c视觉~合集6

我自己的原文哦~ https://blog.51cto.com/whaosoft/11603901 #CSWin-UNet 将自注意力机制集成到UNet中&#xff01;CSWin-UNet&#xff1a;U型分割方法&#xff0c;显著提高计算效率和感受野交互&#xff01;本文提出了CSWin-UNet&#xff0c;这是一种新颖的U型分割方法&…...

STM32(hal库)在串口中,USART和uart有什么区别?

在STM32的HAL库中&#xff0c;USART和UART都是用于串口通信的模块&#xff0c;但它们在功能特性和使用场景上存在一些区别。以下是对两者的详细比较&#xff1a; 一、功能特性 UART&#xff08;通用异步收发器&#xff09;&#xff1a; 是一种串行、异步、全双工的通信协议。通…...

机器学习、深度学习面试知识点汇总

下面是本人在面试中整理的资料和文字&#xff0c;主要针对面试八股做浅显的总结&#xff0c;大部分来源于ChatGPT&#xff0c;中间有借鉴一些博主的优质文章&#xff0c;已经在各文中指出原文。有任何问题&#xff0c;欢迎随时不吝指正。 文章系列图像使用动漫 《星游记》插图…...

FPGA高速设计之Aurora64B/66B的应用与不足的修正

FPGA高速设计之Aurora64B/66B的应用与不足的修正 Aurora IP协议的特点 首先基于网上找到的一些资料&#xff0c;来讲述下Aurora高速协议的特点与相关的应用。Aurora 协议在 2002 年由 Xilinx 公司首次提出&#xff0c;是由Xilinx提供的一个开源、免费的链路层串行传输通信协议…...

如何通过PHP脚本自动推送WordPress文章至百度站长平台

想要提高网站在百度搜索中的曝光度?百度站长平台提供了一个非常方便的API接口,允许网站自动将新发布的内容推送至百度以加快收录。本文将带您一步步实现这一功能,帮助您的WordPress站点实现每日自动推送最新文章的URL至百度站长平台。 1. 前提条件 确保您有一个已安装并运行…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作&#xff0c;无需更改相机配置。但是&#xff0c;一…...

聊聊 Pulsar:Producer 源码解析

一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台&#xff0c;以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中&#xff0c;Producer&#xff08;生产者&#xff09; 是连接客户端应用与消息队列的第一步。生产者…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中&#xff0c;高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术&#xff0c;实现年省电费15%-60%&#xff0c;且不改动原有装备、安装快捷、…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命

在华东塑料包装行业面临限塑令深度调整的背景下&#xff0c;江苏艾立泰以一场跨国资源接力的创新实践&#xff0c;重新定义了绿色供应链的边界。 跨国回收网络&#xff1a;废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点&#xff0c;将海外废弃包装箱通过标准…...

让AI看见世界:MCP协议与服务器的工作原理

让AI看见世界&#xff1a;MCP协议与服务器的工作原理 MCP&#xff08;Model Context Protocol&#xff09;是一种创新的通信协议&#xff0c;旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天&#xff0c;MCP正成为连接AI与现实世界的重要桥梁。…...

tree 树组件大数据卡顿问题优化

问题背景 项目中有用到树组件用来做文件目录&#xff0c;但是由于这个树组件的节点越来越多&#xff0c;导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多&#xff0c;导致的浏览器卡顿&#xff0c;这里很明显就需要用到虚拟列表的技术&…...

短视频矩阵系统文案创作功能开发实践,定制化开发

在短视频行业迅猛发展的当下&#xff0c;企业和个人创作者为了扩大影响力、提升传播效果&#xff0c;纷纷采用短视频矩阵运营策略&#xff0c;同时管理多个平台、多个账号的内容发布。然而&#xff0c;频繁的文案创作需求让运营者疲于应对&#xff0c;如何高效产出高质量文案成…...

搭建DNS域名解析服务器(正向解析资源文件)

正向解析资源文件 1&#xff09;准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2&#xff09;服务端安装软件&#xff1a;bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...

(一)单例模式

一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...

LLaMA-Factory 微调 Qwen2-VL 进行人脸情感识别(二)

在上一篇文章中,我们详细介绍了如何使用LLaMA-Factory框架对Qwen2-VL大模型进行微调,以实现人脸情感识别的功能。本篇文章将聚焦于微调完成后,如何调用这个模型进行人脸情感识别的具体代码实现,包括详细的步骤和注释。 模型调用步骤 环境准备:确保安装了必要的Python库。…...