Форум сайта python.su
Доброго времени суток!
Сразу скажу, Python знаю плохо, использую от случая к случаю.
В файле формата .odt нужно заменить некоторый текст, при этом сохранив его шрифт, цвет и размер.
Текст заменить у меня получилось, но сохранить его стиль - нет.
from odf.opendocument import load from odf import text, teletype import regex as re strindex = '[i]' doc = load("<мой_файл>.odt")#.spreadsheet for element in doc.getElementsByType(text.P): extracted_text = teletype.extractText(element) print(extracted_text) match = re.search(r'[a-zA-Z]+(\.|:)( )*[a-zA-Z0-9]+', extracted_text) if extracted_text.find('\\') != -1 and match is not None: var = re.search(r'[a-zA-z]+',match[0]) var2 = re.search(r'(\.|:)( )*[a-zA-Z0-9]+', match[0]) newex = '{d.queries.'+var[0].upper()+strindex+var2[0].lower()+'}' new_element = text.P() new_element.setAttribute('stylename', element.getAttribute('stylename')) new_element.addText(newex) element.parentNode.insertBefore(new_element, element) element.parentNode.removeChild(element)
Офлайн
не вижу проблем просто
В файле формата .odt замените некоторый текст, при этом сохранив его шрифт, цвет и размер.
Офлайн
ZerGНапрямую распаковать, просто заменить текст и запаковать обратно не прокатит. Оно говорит, что документ повреждён. Там не так просто всё.
В файле формата .odt замените некоторый текст
Офлайн