Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

13 Декабрь 2017, 23:54 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Доступно и просто о работе в офисных пакетах
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Обход текстового документа  (Прочитано 382 раз)
0 Пользователей и 1 Гость смотрят эту тему.
karpo518
Пользователь
**
Offline Offline

Сообщений: 51


« Стартовое сообщение: 21 Апрель 2017, 13:39 »

Добрый день. Есть макрос под OO Writer, который размечает текстовый документ тегами html. В алгоритм подразумевает обход текстовых фрагментов внутри параграфа, отличающихся от предыдущих отслеживаемыми стилями(на данный момент это комбинация свойств: жирность текста, стиль текст, ссылка). В данный момент алгоритм основан на посимвольном обходе документа. Такой подход совсем не производительный, ведь длина строк обособленных стилями обычно больше чем 1 символ. Проверка всех стилей у каждого символа выглядит избыточно. Кроме того, производительность скрипта будет падать при добавлении каждого нового отслеживаемого свойства. Есть ли более эффективный способ обхода текста в параграфе?
Записан

Linux Mint 18 (64 bit),  LibreOffice 5.1.6.2
economist
Ветеран
*****
Offline Offline

Сообщений: 761


« Ответ #1: 21 Апрель 2017, 14:00 »

karpo518 - есть расширение Wiki Publisher (ныне входит во Writer), посмотрите как сделано там.
Я бы на вашем месте тупо "публиковал" бы в очень простом и удобном формате MediaWiki, и конвертил бы его в HTML (хотя если на сервере PHP - то можно публиковать прямо в WIKI, в ней все выглядит изумительно).

А зачем обходить по-символьно? Есть форматы символов? Не лучше ли по словам/абзацам?
Если нужно как-то особо рендерить ODF/ODT-формат, возможно стоит поискать готовые парсеры на сайтах, где много ODF-ов.

Ещё мысль: если файлы сверстаны безграмотно (без стилей, отступы пробелами итп) - то правильнее потратить время на приведение их в порядок, и лишь затем рендерить в web-формат.
« Последнее редактирование: 21 Апрель 2017, 14:18 от economist » Записан

Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!