Как получить фактический стиль текста в текстовом документе, используя python docx - PullRequest
1 голос
/ 07 января 2020

Я использую библиотеку python docx для чтения MS word файла (.docx). Когда я читаю параграф, я использую функцию шрифта, чтобы получить все свойства стиля. Но иногда это дает Нет для атрибута размера шрифта. Есть ли способ получить фактический размер шрифта, который содержит абзац. Ниже приведен пример кода, который я использую для разбора абзацев

from docx import Document
d = Document(document_path)
for paragraph in d.paragraphs:
    for run in paragraph.runs:
        print (run.font.size)

Ответы [ 2 ]

1 голос
/ 07 января 2020

Короткий ответ - нет. Вы запрашиваете эффективный размер шрифта, а python-docx может видеть только явно установленный размер шрифта. Когда font.size сообщает None, это значение по умолчанию для этого абзаца, что бы это ни было, что зависит от иерархии стилей.

Во многих случаях это может быть размер шрифта применимого стиля абзаца, но единственным Чтобы узнать наверняка, нужно перейти к иерархии стилей для этого текстового узла к первому явному определению.

0 голосов
/ 07 января 2020

Следующий код работал для меня:

Разделите его на 12700, чтобы получить фактический размер шрифта.

import docx
docFile = docx.Document("C:/Users/vjadhav6/Desktop/testFile.docx")
for i in docFile.paragraphs:
    for j in i.runs:
        print(j.font.size/12700)
...