網(wǎng)站首頁 編程語言 正文
引言
這兩天做一個(gè)python小工具,用到了docx庫,涉及到paragraph的刪除、,還有行高設(shè)置等技術(shù),這里做一下記錄。
1、復(fù)制paragraph
即用來原文檔的加粗、斜體,下劃線,顏色等屬性的,官方?jīng)]有提供paragraph的接口,只能自己實(shí)現(xiàn):
# paragraph 的
def get_para_data(output_doc_name, paragraph):
"""
Write the run to the new file and then set its font, bold, alignment, color etc. data.
"""
output_para = output_doc_name.add_paragraph()
for run in paragraph.runs:
output_run = output_para.add_run(run.text)
# Run's bold data
output_run.bold = run.bold
# Run's italic data
output_run.italic = run.italic
# Run's underline data
output_run.underline = run.underline
# Run's color data
output_run.font.color.rgb = run.font.color.rgb
# Run's font data
output_run.style.name = run.style.name
# Paragraph's alignment data
output_para.paragraph_format.alignment = paragraph.paragraph_format.alignment
2、刪除paragraph
網(wǎng)上有用clear()的,實(shí)際不行。 我刪除一個(gè)空行paragraph,用clear不行,還是后來用了下面這個(gè)接口才解決:
def delete_paragraph(paragraph):
p = paragraph._element
p.getparent().remove(p)
p._p = p._element = None
3、插入圖片和paragraph行高設(shè)置
由于默認(rèn)的行高限制,我的使用中遇到了麻煩,插入的圖片的時(shí)候,圖片部分只能顯示一部分。后來,找到了一個(gè)辦法設(shè)置行高屬性:
from docx.enum.text import WD_LINE_SPACING
paragraph.paragraph_format.line_spacing_rule = WD_LINE_SPACING.MULTIPLE #根據(jù)實(shí)際大小
output_run = paragraph.add_run("")
output_run.add_picture('{}.png'.format(ownerName), width=Pt(50), height=Pt(15))
原文鏈接:https://cloud.tencent.com/developer/article/2053985
相關(guān)推薦
- 2022-10-16 Python?結(jié)構(gòu)化字符串中提取數(shù)據(jù)詳情_python
- 2022-03-29 python實(shí)現(xiàn)二叉排序樹_python
- 2022-09-03 解決vmware上Ubuntu共享文件夾的問題_VMware
- 2022-11-08 Fluentd搭建日志收集服務(wù)_服務(wù)器其它
- 2024-03-21 【Spring Boot】Spring Boot 配置文件詳解(application.yml、ap
- 2022-08-15 使用mybatis-plus 的baseMapper的selectById 出現(xiàn)查詢不到值
- 2022-05-26 C語言算法練習(xí)之佩奇借書_C 語言
- 2022-08-05 Winform窗體中打開PDF文件的三種方式_C#教程
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支