从 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
。
我用它来检查,它对我有用。希望对你有帮助。
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")
我正在使用 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
。
我用它来检查,它对我有用。希望对你有帮助。
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")