从 word 文档中检索字体样式、大小和其他属性

Retrieving font style, size and other attributes from a word document

我正在使用 python 3.6,我的问题是是否可以从现有文档中检索信息,例如文本的字体名称、字体大小等

我尝试使用 python-docx 来帮助我,但是当我尝试使用 run.font 时,我只得到 None 返回。

我认为这很有帮助。

import docx
path = '/home/karamveer/Downloads/222.docx' #your docx file path
doc = docx.Document(path)
for p in doc.paragraphs:
    name = p.style.font.name
    size = p.style.font.size
    print name, size

使用 run.font 工作。另一个答案对我来说效果不佳,所以我会在这里回答

根据文档,对于字体名称,如果它“从样式层次结构继承”,它将始终 return None。我假设这意味着文档默认样式的默认字体。我用不同的字体尝试过这个,它对我有用,给我 None 作为默认字体并命名不同的字体名称。

字体大小似乎相同,默认大小为 None

Font documentation

我用它来检查,它对我有用。希望对你有帮助。

for p in doc.paragraphs:
    fonts = []
    texts = []
    sizes = []
    for i in p.runs:
        fonts.append(i.font.name)
        texts.append(i.text)
        sizes.append(i.font.size)
        
    print(texts, fonts, sizes, sep="\n")