我使用 Python 检测 docx 文件中的所有斜体字体。问题是:没有找到所有斜体字体,只是找到其中的一些字体。例如,在 bebe.docx 中,我有接下来的 4 行,全部都有斜体字体。时代新罗马 (13).
Bebe.
Bebe este acasa maine.
- Bebe.
- The Little Mermaid sighed and looked sadly at her fish tail.
这是要检查的简单 Python 代码:
from docx import Document
for para in Document('bebe.docx').paragraphs:
for run in para.runs:
print(f"Text: {run.text}, Bold: {run.bold}, Italic: {run.italic}")
它们都不能被识别为斜体,尽管在 .docx 中它们是斜体字体。然而,粗体字体的识别度非常好。看看 Python 发现了什么:
Text: Bebe, Bold: None, Italic: None
Text: ., Bold: None, Italic: None
Text: Bebe, Bold: True, Italic: None
Text: este acasa maine., Bold: None, Italic: None
Text: - Bebe, Bold: None, Italic: None
Text: ., Bold: None, Italic: None
Text: - The Little Mermaid sighed and looked sadly at her fish tail., Bold: None, Italic: None
有些人似乎让代码正常工作,它检测到斜体。为什么它没有检测到我?
我找到了解决方案。问题出在样式上。
为了让Python正确地看到粗体、斜体、下划线字体,我必须首先创建一个新样式。首先我必须“清除格式”->“创建样式”->“保存样式”