Как изменить размер шрифта в файле Python DOCX - PullRequest
0 голосов
/ 14 января 2019

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

Я хочу, чтобы «Журнал финансов» и «Создано ...» были в 48, а «Журнал начинается:» - в 24.

Tstyle = doc.styles['Normal']
font = Tstyle.font
font.name = "Nunito Sans"
font.size = Pt(48)
Title = doc.add_paragraph()
TRun = Title.add_run("Finance Log")
TRun.bold = True
CurrentDate= datetime.datetime.now()
FormattedDate= CurrentDate.strftime('%d-%m-%Y')
FCreated = Title.add_run("\nFile Created On "+FormattedDate)
Fstyle = doc.styles['Heading 1']
font = Fstyle.font
font.name = "Nunito Sans"
font.size = Pt(24)
FLog = doc.add_paragraph()
FinanceTitle = FLog.add_run("Log Begins:")
doc.save(path_to_docx)

Я пробовал несколько вещей, таких как создание нового стиля, установка нового стиля для заголовка и т. Д. *

Мне известно о Установить шрифт абзаца в python-docx , однако я не смог решить проблему с этим

1 Ответ

0 голосов
/ 14 января 2019

Я не могу изменить размер шрифта с одного размера на другой без изменения размера всего текста.

Это потому, что вы меняете размер основного шрифта style объектов:

Tstyle = doc.styles['Normal']
font = Tstyle.font  # << this line assigns font = doc.styles['Normal'].font

Итак, вы не работаете с каким-то общим свойством "font", вы работаете со шрифтом, который принадлежит к названному стилю "Normal". И так:

font.name = "Nunito Sans"
font.size = Pt(48)  # << this line changes the font size of doc.styles['Normal']

Не проверено, но попробуйте что-то вроде:

TStyle, FStyle = doc.styles['Normal'], doc.styles['Heading 1']
for style in (TStyle, FStyle):
    style.font.name = "Nunito Sans"
TStyle.font.size = Pt(48)
FStyle.font.size = Pt(24)


Title = doc.add_paragraph()
Title.style = TStyle
TRun = Title.add_run("Finance Log")
TRun.bold = True

FCreated = Title.add_run("\nFile Created On {0}".format(datetime.datetime.now().strftime('%d-%m-%y')))

FLog = doc.add_paragraph()
FLog.style = FStyle
FinanceTitle = FLog.add_run("Log Begins:")
doc.save(path_to_docx)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...