python 往 word模板中写入文字,但保持原字体大小
时间: 2025-06-29 10:06:48 AIGC 浏览: 25
### 如何在Python中向Word模板插入文本并保持原有字体
为了实现在不改变已有格式的前提下向Word文档中添加新内容,可以采用`python-docx`库来操作`.docx`文件。此库允许访问和修改Word文档中的各个部分,包括段落、表格和其他元素。
对于维持现有样式不变的需求,在编写新的文本到指定位置之前,应该先读取目标区域内的格式设置作为后续新增内容的基础。具体来说,可以通过遍历现有的段落到取得其字符属性(如字号),并将这些属性应用至待加入的新字符串之上[^1]。
下面是利用`python-docx`完成上述任务的一个实例:
```python
from docx import Document
from docx.shared import Pt, RGBColor
def add_text_with_existing_style(doc_path, text_to_add):
document = Document(doc_path)
# 假设要更新第一个段落
target_paragraph = document.paragraphs[0]
if len(target_paragraph.runs)>0:
last_run=target_paragraph.runs[-1]
new_run = target_paragraph.add_run(text_to_add)
# 复制最后一个run的字体特性给新run
font=new_run.font
try:
font.bold=last_run.bold
font.italic=last_run.italic
font.size=last_run.font.size
font.color.rgb=last_run.font.color.rgb
except AttributeError as e:
pass
else:
target_paragraph.add_run(text_to_add)
document.save('modified_' + doc_path)
add_text_with_existing_style('template.docx', '这是追加的文字')
```
这段代码会打开名为`template.docx`的Word文档,并在其首个自然段后面附加一段文字而不影响原有的任何格式化特征,比如颜色、粗细等。注意这里假设了我们要编辑的是首段;实际应用场景下可能需要更复杂的逻辑去定位具体的插入点[^2]。
阅读全文
相关推荐




















