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

230903文本docx

处理文本

块级项目,每次文本超出右边界时都会添加一行.对段落,边界一般是页边距,但如果按列布局页,则也可是列边界,如果表格单元格内有段,则也可是单元格边界.

块级项属性指定其在页上的位置,如缩进项段落前后间距.内联项属性一般指定显示内容的如字样,字体大小,粗体和斜体等字体.

段落属性

段落有各种指定容器(一般是)中的位置按单独行划分内容方式的属性.
可用段落的paragraph_format属性提供的ParagraphFormat对象访问段落格式属性.

水平对齐(对齐)

可用WD_PARAGRAPH_ALIGNMENT枚举中的值设置对齐段落的水平方式左对齐,居中对齐,右对齐或完全对齐(在左侧和右侧对齐):

from docx.enum.text import WD_ALIGN_PARAGRAPH
document = Document()
paragraph = document.add_paragraph()
paragraph_format = paragraph.paragraph_format
paragraph_format.alignment
None  #继承
paragraph_format.alignment = WD_ALIGN_PARAGRAPH.CENTER
paragraph_format.alignment
CENTER (1)

缩进

缩进是段落容器边的水平间距,一般是页边距.也可在左侧和右侧分别缩进段落.第一行也可与段落的其余部分有不同的缩进,.

from docx.shared import Inches
paragraph = document.add_paragraph()
paragraph_format = paragraph.paragraph_format
paragraph_format.left_indent
None  #继承
paragraph_format.left_indent = Inches(0.5)
paragraph_format.left_indent
457200
paragraph_format.left_indent.inches
0.5

右边缩进类似:

from docx.shared import Pt
paragraph_format.right_indent
None
paragraph_format.right_indent = Pt(24)
paragraph_format.right_indent
304800
paragraph_format.right_indent.pt
24.0

使用first_line_indent属性指定首行缩进,并相对左缩进.负值表示悬挂缩进:

paragraph_format.first_line_indent
None
paragraph_format.first_line_indent = Inches(-0.25)
paragraph_format.first_line_indent
-228600
paragraph_format.first_line_indent.inches-0.25

制表符

在使用ParagraphFormat上的tab_stops属性访问的TabStop对象中包含段落或风格的制表符:

tab_stops = paragraph_format.tab_stops
tab_stops
<docx.text.tabstops.TabStops object at 0x106b802d8>

add_tab_stop()加新制表符:

tab_stop = tab_stops.add_tab_stop(Inches(1.5))
tab_stop.position
1371600
tab_stop.position.inches
1.5

默认左对齐,但可通过提供WD_TAB_ALIGNMENT枚举的成员来指定.空格为默认前导符,但可通过提供WD_TAB_LEADER枚举的成员来指定:

from docx.enum.text import WD_TAB_ALIGNMENT, WD_TAB_LEADER
tab_stop = tab_stops.add_tab_stop(Inches(1.5), WD_TAB_ALIGNMENT.RIGHT, WD_TAB_LEADER.DOTS)
print(tab_stop.alignment)
RIGHT (2)
print(tab_stop.leader)
DOTS (1)

访问现有制表符:

tab_stops[0]
<docx.text.tabstops.TabStop object at 0x1105427e8>

段落间距

space_beforespace_after属性分别控制前后段落间间距.
一般用Pt单位:

paragraph_format.space_before, paragraph_format.space_after
(None, None)  # inherited by default
paragraph_format.space_before = Pt(18)
paragraph_format.space_before.pt
18.0
paragraph_format.space_after = Pt(12)
paragraph_format.space_after.pt
12.0

行距

line_spacingline_spacing_rule属性交互控制行距.line_spacing是长度值,(小浮点数)或无.
长度值表示绝对距离.浮点数表示许多行高."无"表示行距是继承的.line_spacing_ruleWD_LINE_SPACING枚举或None的成员:

from docx.shared import Length
paragraph_format.line_spacing
None
paragraph_format.line_spacing_rule
None
paragraph_format.line_spacing = Pt(18)
isinstance(paragraph_format.line_spacing, Length)
True
paragraph_format.line_spacing.pt
18.0
paragraph_format.line_spacing_rule
EXACTLY (4)
paragraph_format.line_spacing = 1.75
paragraph_format.line_spacing
1.75
paragraph_format.line_spacing_rule多个`(5)`

分页属性

四个段落属性(keep_together,keep_with_next,page_break_beforewidow_control控制页边界行为.
1,keep_together,在同一页上显示整个段落,如果段落跨两页,则在段落前发出分页符.
2,keep_with_next,在同一页上保留当前段落与下个段落.如,可在同一页上,保持节标题与节的第一段.
3,page_break_before新页顶部放段落.用于章节标题.
4,widow_control中断页,避免在单独页上,放置段落的第一行或最后一行.
都是三态的,取值为True,FalseNone.“无"表示继承.True表示"开”,False表示"关":

paragraph_format.keep_together
None  # 继承为默认
paragraph_format.keep_with_next = True
paragraph_format.keep_with_next
True
paragraph_format.page_break_before = False
paragraph_format.page_break_before
False

应用符格式

符格式示例包括字体和大小,粗体,斜体和下划线.
Run对象只读,
这样访问字体:

from docx import Document
document = Document()
run = document.add_paragraph().add_run()
font = run.font

设置:

from docx.shared import Pt
font.name = "Calibri"
font.size = Pt(12)

粗体和斜体是三态属性,全大写,删除线,上标和许多其他属性同样.

font.bold, font.italic
(None, None)
font.italic = True
font.italic
True
font.italic = False
font.italic
False
font.italic = None
font.italic
None

下划线有点特殊.它是三态属性和枚举值属性的混合体.True表示单下划线.False表示没有下划线,但更常见的是,如果不需要下划线,则用None.
其他形式下划线(如双划线或虚线),则使用WD_UNDERLINE枚举指定的成员:

font.underline
None
font.underline = True
# 或
font.underline = WD_UNDERLINE.DOT_DASH
Font color 

每个Font对象都有个ColorFormat对象来访问颜色.
RGB颜色:

from docx.shared import RGBColor
font.color.rgb = RGBColor(0x42, 0x24, 0xE9)

还可按主题颜色赋值MSO_THEME_COLOR_INDEX枚举成员,来设置字体:

from docx.enum.dml import MSO_THEME_COLOR
font.color.theme_color = MSO_THEME_COLOR.ACCENT_1

赋值NoneColorFormatrgbtheme_color属性,可恢复默认颜色.

font.color.rgb = None

确定字体颜色先要确定颜色类型:

font.color.type
RGB (1)

type属性的值可是MSO_COLOR_TYPE枚举的成员或None.MSO_COLOR_TYPE.RGB表示它是RGB颜色.MSO_COLOR_TYPE.THEME表示为主题颜色.MSO_COLOR_TYPE.AUTO表示自动确定,一般设置为黑色.(此值相对较少).
"无"表示未应用颜色,且按继承,这最常见.
颜色类型为MSO_COLOR_TYPE.RGB时,rgb属性指示是个RGB颜色的RGBColor值:

font.color.rgb
RGBColor(0x42, 0x24, 0xe9)

当颜色类型为MSO_COLOR_TYPE.THEME时,theme_color属性是主题颜色MSO_THEME_COLOR_INDEX的成员:

font.color.theme_color
ACCENT_1 (5)

相关文章:

230903文本docx

处理文本 块级项目,每次文本超出右边界时都会添加一行.对段落,边界一般是页边距,但如果按列布局页,则也可是列边界,如果表格单元格内有段,则也可是单元格边界. 块级项属性指定其在页上的位置,如缩进项及段落前后间距.内联项属性一般指定显示内容的如字样,字体大小,粗体和斜体…...

Mysql-DML(数据处理语言)

-- 插入数据 insert into member values(1,张三,21,5000); insert into member(id,name) values(2,李四); insert into member values(3,王五,23,3000) ,(4,纪六,24,4000) ,(5,查七,25,5000); -- 更新&#xff08;修改数据) 不加限制条件 该字段全部修改 update member set age…...

部署项目至服务器

安装conda https://zhuanlan.zhihu.com/p/489499097 个人租借的服务器如何进行端口的开放呢&#xff1f; 防火墙设置&#xff1a; 添加规则设置&#xff1a; 即可&#xff1b; 通常下租借的服务器没有防火墙设置 相关链接&#xff1a; https://blog.csdn.net/weixin_4520…...

OSI与TCP IP各层的结构与功能,都有哪些协议

分析&回答 OSI七层模型 层功能TCP/IP协议族应用层文件传输&#xff0c;电子邮件&#xff0c;文件服务&#xff0c;虚拟终端TFTP&#xff0c;HTTP&#xff0c;SNMP&#xff0c;FTP&#xff0c;SMTP&#xff0c;DNS&#xff0c;Telnet表示层数据格式化&#xff0c;代码转换…...

【2023年11月第四版教材】第10章《进度管理》(第三部分)

第10章《进度管理》&#xff08;第三部分&#xff09; 7 估算活动持续时间7.1 估算活动持续时间7.2 类比估算★★★7.3 参数估算★★★7.4 三点估算★★★7.5 数据分析★★★ 7 估算活动持续时间 组过程输入工具和技术输出计划4,估算活动持续时间1.项目管理计划&#xff08;进…...

【Vuex状态管理】Vuex的基本使用;核心概念State、Getters、Mutations、Actions、Modules的基本使用

目录 1_应用状态管理1.1_状态管理1.2_复杂的状态管理1.3_Vuex的状态管理 2_Vuex的基本使用2.1_安装2.2_创建Store2.3_组件中使用store 3_核心概念State3.1_单一状态树3.2_组件获取状态3.3_在setup中使用mapState 4_核心概念Getters4.1_getters的基本使用4.2_getters第二个参数4…...

Linux centos7 bash编程(循环与条件判断)

在编程训练中&#xff0c;循环结构与条件判断十分重要。 根据条件为真为假确定是否执行循环。 有时&#xff0c;根据条件的真假结果&#xff0c;决定执行哪些语句&#xff0c;这就是分支语句。 为了训练分支语句与循环语句&#xff0c;我们设计一个案例&#xff1a; 求一组…...

设计模式-6--装饰者模式(Decorator Pattern)

一、什么是装饰者模式&#xff08;Decorator Pattern&#xff09; 装饰者模式&#xff08;Decorator Pattern&#xff09;是一种结构型设计模式&#xff0c;它允许你在不修改现有对象的情况下&#xff0c;动态地将新功能附加到对象上。这种模式通过创建一个包装类&#xff0c;…...

质量属性案例-架构真题(二十一)

试题一 某电子商务公司升级会员与促销管理系统&#xff0c;向用户提交个性化服务&#xff0c;提高用户粘性。在项目建立之初&#xff0c;公司领导人一致认为目标是提升会员管理方式的灵活性&#xff0c;由于当前用户规模不大&#xff0c;用户简单&#xff0c;系统方面不需要做…...

nacos Error to process server push response

nacos2.0.3报错&#xff1a; Error to process server push response 解决办法&#xff1a; 排查项目当中有没有直接或间接依赖reflections&#xff1a; <dependency><groupId>org.reflections</groupId><artifactId>reflections</artifactId>…...

神经网络NLP基础 循环神经网络 LSTM

用的时候&#xff0c;只关心token的输入&#xff0c;以及hidden state就好了 sequence的length是多少&#xff0c;lstm的cell的数量就是多少 LSTM BI-LSTM stacked lstm GRU 实现...

Oracle数据传输加密方法

服务器端“dbhome_1\NETWORK\ADMIN\”sqlnet.ora文件中添加 SQLNET.ENCRYPTION_SERVER requested SQLNET.ENCRYPTION_TYPES_SERVER (RC4_256) 添加后新的链接即刻生效&#xff0c;服务器无需重新启动。 也可以通过Net manager管理工具添加 各个参数含义如下&#xff1a; 是…...

Android列表片段

下面创建第二个片段WorkoutFragment&#xff0c;它包含不同训练项目构成的一个列表&#xff0c;用户可以从这个列表中选择训练项目。 列表视图是只包含一个列表的片段 列表片段是一种专门处理列表的片段&#xff0c;它会自动绑定到一个列表视图&#xff0c;所以不需要另外创建…...

【元宇宙】智能手机万岁

凭借出色的新设备&#xff0c;我们很快就能进人元字宙&#xff0c;想象这样的情景是很趣的。但是&#xff0c;至少到21世纪20年代&#xff0c;元宇宙时代的大多数设备很可能是我们已经在使用的设备。 AR 和 VR 设备不仅面临重大的技术、财务和体验障碍&#xff0c;而且它们在上…...

华为mate60的发布代表着什么?有什么意义?

华为Mate60的发布代表着华为在技术领域的持续突破和创新。该产品预计将引入更强大的处理器、更高分辨率的屏幕、更强大的摄像头等前沿技术&#xff0c;进一步巩固华为在技术领域的领先地位。 此外&#xff0c;华为Mate60的发布还具有重塑品牌形象的意义。在美国制裁下&#xff…...

huggingface下载模型文件(基础入门版)

huggingface是一个网站&#xff0c;类似于github&#xff0c;上面拥有众多开源的模型、数据集等资料&#xff0c;人工智能爱好者可以很方便的上面获取需要的数据&#xff0c;也可以上传训练好的模型&#xff0c;制作的数据集等。本文只介绍下载模型的方法&#xff0c;适合新手入…...

在JS中tramsform与translate区别

在JavaScript中&#xff0c;"transform"和"translate"是用于处理HTML元素的样式属性&#xff0c;它们有以下区别&#xff1a; transform属性&#xff1a; transform属性是一个通用的属性&#xff0c;用于应用一系列的变换效果&#xff0c;包括平移、旋转、…...

ebay测评,物理环境与IP环境:解决平台风控问题的关键

近期eBay平台出现了大量风控问题&#xff0c;导致许多买家账号受到影响。实际上&#xff0c;这主要是由于环境搭建方面存在主要问题。时至2023年&#xff0c;许多人的技术方案仍停留在几年前&#xff0c;要么使用一键新机工具配合国外IP&#xff0c;要么使用指纹浏览器配合国外…...

05-Redis

1、Redis为什么快&#xff1f; 1、纯内存操作 2、单线程可以省去多线程时CPU上下文会切换的时间 3、渐进式ReHash、缓存时间戳 数组需要扩容的时候&#xff0c;他会维护两张hash表&#xff0c;比如第一张的数组长度为6&#xff0c;另一张的数组长度为12&#xff0c;在set和g…...

MSST-NET:用于高光谱和多光谱图像融合的多尺度空间-光谱Transfomer网络

1.网络结构 主要贡献&#xff1a; 提出了一种多尺度空间光谱Transformer网络光谱多头注意力旨在提取光谱特征引入多尺度波段/补丁嵌入来提取多尺度特征自监督训练 痛点&#xff1a;卷积核的感受野有限&#xff0c;基于卷积神经网络CNN的融合方法无法利用特征图中的全局关系…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业&#xff0c;项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升&#xff0c;传统的管理模式已经难以满足现代工程的需求。过去&#xff0c;许多企业依赖手工记录、口头沟通和分散的信息管理&#xff0c;导致效率低下、成本失控、风险频发。例如&#…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

vue3+vite项目中使用.env文件环境变量方法

vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量&#xff0c;这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

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

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

【Go语言基础【12】】指针:声明、取地址、解引用

文章目录 零、概述&#xff1a;指针 vs. 引用&#xff08;类比其他语言&#xff09;一、指针基础概念二、指针声明与初始化三、指针操作符1. &&#xff1a;取地址&#xff08;拿到内存地址&#xff09;2. *&#xff1a;解引用&#xff08;拿到值&#xff09; 四、空指针&am…...

如何更改默认 Crontab 编辑器 ?

在 Linux 领域中&#xff0c;crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用&#xff0c;用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益&#xff0c;允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...

day36-多路IO复用

一、基本概念 &#xff08;服务器多客户端模型&#xff09; 定义&#xff1a;单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用&#xff1a;应用程序通常需要处理来自多条事件流中的事件&#xff0c;比如我现在用的电脑&#xff0c;需要同时处理键盘鼠标…...

HubSpot推出与ChatGPT的深度集成引发兴奋与担忧

上周三&#xff0c;HubSpot宣布已构建与ChatGPT的深度集成&#xff0c;这一消息在HubSpot用户和营销技术观察者中引发了极大的兴奋&#xff0c;但同时也存在一些关于数据安全的担忧。 许多网络声音声称&#xff0c;这对SaaS应用程序和人工智能而言是一场范式转变。 但向任何技…...

git: early EOF

macOS报错&#xff1a; Initialized empty Git repository in /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/.git/ remote: Enumerating objects: 2691797, done. remote: Counting objects: 100% (1760/1760), done. remote: Compressing objects: 100% (636/636…...