gpt4 book ai didi

python - 我可以使用 python-docx 更改 MS Word 中的文本而不丢失特征吗?

转载 作者:太空宇宙 更新时间:2023-11-03 16:59:24 24 4
gpt4 key购买 nike

我现在在MS Word中有一个英文word文档,我想使用python将其文本更改为中文。我一直在使用 Python 3.4 并安装了 python-docx。这是我的代码:

from docx import Document
document = Document(*some MS Word file*)
# I only change the texts of the first two paragraphs
document.paragraphs[0].text = '带有消毒模式的地板清洁机'
document.paragraphs[1].text = '背景'
document.save(*save_file_path*)

前两行确实变成了汉字,但字体和粗体等特性都消失了: the original file looks like this

and the new file looks like this

我是否可以在不丢失原始特征的情况下更改文本?

最佳答案

这取决于特性的应用方式。有一种东西叫做样式层次结构,文本特征可以应用于任何地方,从直接到一系列文本、样式或文档默认值以及中间的级别。

特征主要有两类:段落属性和运行属性。段落属性是诸如对齐方式、前后空格等。与字符级格式有关的所有内容(例如大小、字体、颜色、下标、斜体、粗体等)都是运行属性,也广泛称为 < em>字体。

所以如果你想保留一段文本的字体,你需要在运行级别进行操作。像这样的操作将保留字体格式:

run.text = "New text"

这样的操作将保留段落格式,但删除段落样式未应用的任何字符级格式:

paragraph.text = "New paragraph text"

您需要为您的应用程序决定是否修改单个运行(这可能很难识别),或者是否使用不同的段落并对每个段落应用不同的样式。我推荐后者。因此,在您的示例中,“FLOOR CLEANING MACHINE ...”、“BACKGROUND”和“[0001] ...”将分别成为不同的段落。在您的屏幕截图中,它们在单个段落中显示为单独的运行,并以换行符分隔。

关于python - 我可以使用 python-docx 更改 MS Word 中的文本而不丢失特征吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35125208/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com