为什么Python无法正确识别docx文件中的斜体字体?

问题描述 投票:0回答:1

我使用 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 docx python-docx
1个回答
0
投票

我找到了解决方案。问题出在样式上。

为了让Python正确地看到粗体、斜体、下划线字体,我必须首先创建一个新样式。首先我必须“清除格式”->“创建样式”->“保存样式”

© www.soinside.com 2019 - 2024. All rights reserved.