Я хочу знать, в python-pptx, есть ли способ получить текущие атрибуты текста, такие как размер, шрифт, цвет шрифта и т. Д., И сохранить его и, наконец, настроить новый текст обратно на атрибуты, сохраненные до.
Потому что я хотел бы использовать API Google Translate и перевести некоторый текст с японского на английский.Но после перевода на английский некоторые слова стали больше, цвет шрифта слов изменился с белого на черный.
Я не знаю, почему это происходит, но если кто-то знает причину, пожалуйста, поделитесьэто со мной, и я хочу решить эту проблему.
мой код ниже.
В настоящее время, похоже, нет способа сохранить статус шрифта, поэтому я обозначил размер шрифта, который меньшечем оригинальный размер японского шрифта в ppt.
Но я хотел бы извлечь исходную спецификацию шрифта (размер, цвет и т. Д.), И после использования функции перевода я хочу вернуть текст на английском языке к исходной спецификации шрифта, извлеченной ранее.
translation_func
- это определенная мной функция для перевода с английского на японский.
prs = Presentation('C://pyworks//TCI_Loyalty_Suite.pptx')
for slide in prs.slides:
for shape in slide.shapes:
if hasattr(shape, "text"):
extracted_text = shape.text
shape.text = translation_func(extracted_text)
for paragraph in shape.text_frame.paragraphs:
for run in paragraph.runs:
run.font.size = Pt(9)
if shape.has_table:
for row in shape.table.rows:
for cell in row.cells:
extracted_text = cell.text
cell.text = translation_func(extracted_text)
for paragraph in cell.text_frame.paragraphs:
for run in paragraph.runs:
run.font.size = Pt(9)