Тема: Вставка спец. символов тексту с разным форматированием. Как сделать?
Приветствую всех гостей и пользователей сервиса!
В ходе процесса написания Delphi приложения столкнулся со следующей задачей. Имеются до 100 штук Word'овских документов с расширением *.doc и *.docx. В каждом документе до 800 страниц. Название шрифта TimesUz, Times New Roman. В тексте присутствуют символы выделенные красной рамкой (изображение во вложении). И следующим текстом (образец во вложении):
Нужно поставить спец символы следующим элементам для того, чтобы аккуратно отделить каждый элемент с разным форматированием для преобразования в таблицу. Один элемент - один столбец. Всего до 8 типов элементов. В дальнейшем таблица экспортируется в БД:
1) Слово
Начало: Первая строка нового абзаца.
Конец: Первая строка нового абзаца.
Условия: Все полужирные символы набраные прописным шрифтом.
Описание: Определить слова и выражения (3-4 слова) набранные полужирным шрифтом и ПРОПИСНЫМИ БУКВАМИ. Это будет столбец «Word».
2) Подсказка
Начало: После «Слова».
Конец: До первого длинного тире «—».
Условия: Весь текст в паре круглых скобок. Присутствует не всегда.
Описание: Определить текст следующий после ПОЛУЖИРНЫХ ПРОПИСНЫХ СЛОВ внутри пары круглой скобки «()» до длинного тире «—». Столбец «Hint».
3) Полный текст слова / статьи
Начало: После длинного тире «—».
Конец: А) До следующего «Слова». Б) До следующего «Заголовка пункта». В) До «Основание, источник (литература), комментарий».
Условия: В порядке наличия или отсутствия А, Б, В.
Описание: Определить текст после длинного тире «—» до Полужирного Слова / Выражения набранного Заглавной первой буквой. Столбец «WordFullText».
4) Заголовок пункта (есть только в статьях)
Начало: Первая строка нового абзаца. После «Слова».
Конец: Первая строка нового абзаца.
Условия: Слово или выражение, набранное полужирным шрифтом и первой Заглавной буквой.
Описание: Определить слова и выражения (3-4 слова) набранные полужирным шрифтом с Заглавной первой буквой. Столбец «Title».
5) Полный текст заголовка пункта
Начало: После «Заголовок пункта».
Конец: А) До следующего «Слова». Б) До следующего «Заголовка пункта». В) До «Основание, источник (литература), комментарий».
Условия: В порядке наличия или отсутствия А, Б, В.
Описание: Определить текст после «Заголовок пункта» до:
А) Следующего Заголовка Пункта.
Б) «Источника (литературы)», «Автора».
Столбец «TitleFullText».
6) Основание, источник (литература), комментарий
Начало: Первая строка нового абзаца. После: А) «Полного текста слова / статьи», Б) «Полного текста заголовка пункта».
Конец: До А) «Автора». Б) До следующего «Слова».
Условия: В порядке наличия или отсутствия А, Б.
Описание: «Основание» начинается после текста «Ас.:». «Источник / литература» начинается после текста «Ад.:». Все другие сокращения и обозначения по месту расположению идентичные «Источнику / литературе» набраные, кроме «Ас.:» и «Ад.:» относятся к «Комментариям». Например, «Нашри:». Стобец "Comment"
7) Автор
Начало: Первая строка нового абзаца. После: А) «Полного текста слова / статьи». Б) «Полного текста заголовка пункта»
Конец: Первая строка нового абзаца.
Условия: Выравнивание по правому краю.
Описание: Авторов может быть несколько, перечисляются через запятую. Набран курсивом. Стобец "Autor".
Буду рад, если поможете с этим. Пытался парсить по параметрам, но из-за специфичности текста и наличия в нём формул и изображений результат был не таким каким я ожидал.