Найти - Пользователи
Полная версия: Odfpy_Получить стиль текста из файла
Начало » Python для новичков » Odfpy_Получить стиль текста из файла
1
S-vet_a
Доброго времени суток!

Сразу скажу, 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)

Буду очень благодарна за помощь!
ZerG
не вижу проблем просто
В файле формата .odt замените некоторый текст, при этом сохранив его шрифт, цвет и размер.
py.user.next
ZerG
В файле формата .odt замените некоторый текст
Напрямую распаковать, просто заменить текст и запаковать обратно не прокатит. Оно говорит, что документ повреждён. Там не так просто всё.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB