網站首頁 編程語言 正文
引言
這兩天做一個python小工具,用到了docx庫,涉及到paragraph的刪除、,還有行高設置等技術,這里做一下記錄。
1、復制paragraph
即用來原文檔的加粗、斜體,下劃線,顏色等屬性的,官方沒有提供paragraph的接口,只能自己實現:
# 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
網上有用clear()的,實際不行。 我刪除一個空行paragraph,用clear不行,還是后來用了下面這個接口才解決:
def delete_paragraph(paragraph):
p = paragraph._element
p.getparent().remove(p)
p._p = p._element = None
3、插入圖片和paragraph行高設置
由于默認的行高限制,我的使用中遇到了麻煩,插入的圖片的時候,圖片部分只能顯示一部分。后來,找到了一個辦法設置行高屬性:
from docx.enum.text import WD_LINE_SPACING
paragraph.paragraph_format.line_spacing_rule = WD_LINE_SPACING.MULTIPLE #根據實際大小
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
相關推薦
- 2022-06-20 C語言超全面define預處理指令的使用說明_C 語言
- 2023-02-07 python正則表達式實現自動化編程_python
- 2022-09-23 opencv實現車牌識別_python
- 2022-02-11 idea package合在一起,利用Compact Middle Packages解決 &
- 2023-04-12 在redis中防止消息丟失的機制_Redis
- 2022-10-12 pandas學習之df.fillna的具體使用_python
- 2022-07-23 Python實現環形鏈表_python
- 2022-08-10 python數組中的?k-diff?數對例題解析_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支