1

Тема: Вставка спец. символов тексту с разным форматированием. Как сделать?

Приветствую всех гостей и пользователей сервиса!

В ходе процесса написания 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".

Буду рад, если поможете с этим. Пытался парсить по параметрам, но из-за специфичности текста и наличия в нём формул и изображений результат был не таким каким я ожидал.

Post's attachments

Pars.ZIP 61.3 Кб, 2 скачиваний с 2015-07-29 

You don't have the permssions to download the attachments of this post.

2

Re: Вставка спец. символов тексту с разным форматированием. Как сделать?

попыталась вручную растащить по таблице, но непонятно --как вы формулы и рисунки загоните в таблицу бд
если в виде OLE --что вы потом с этой таблицей хотите делать

Пытался парсить по параметрам, но из-за специфичности текста и наличия в нём формул и изображений результат был не таким каким я ожидал.
В дальнейшем таблица экспортируется в БД:

3

Re: Вставка спец. символов тексту с разным форматированием. Как сделать?

прилагаю таблицу рисунком

Post's attachments

w150729.gif 22.29 Кб, файл не был скачан. 

You don't have the permssions to download the attachments of this post.

4

Re: Вставка спец. символов тексту с разным форматированием. Как сделать?

shanemac51 пишет:

но непонятно --как вы формулы и рисунки загоните в таблицу бд
если в виде OLE --что вы потом с этой таблицей хотите делать

Для формул и рисунков создам поле Blob и экспорт будет выполнен другим средством. Так как весь комплект парсинга в одном приложении / методе не получается.
Либо криво распознаёт ключевые слова, либо игнорует спец. символы. В общем беда. А в идеале всё немного сложней.
Необходимо сканировать документ на наличие в нём изображений. Экспортировать изображение как отдельный файл в папку (неважно куда). Задать имя файла-изображения аналогично слову с индексом увеличения, если файлбов больше чем 1. Например, слово ТЕРМОМЕТР. Имя эскпортированного графического файла должно быть termometr. При наличие двух и более рисунков имя должно быть: termometr01, termometr02.
В общем пытаюсь реализовать парсинг из док-файла разными способами (всё сразу или по частям) всё равно какой-то из методов не даёт желаемого результата.

Пытаюсь сделать так: документ Word -> таблица Word -> MS Access -> конечное Делфи-приложение.

5

Re: Вставка спец. символов тексту с разным форматированием. Как сделать?

Минимум желаю от вставки символов для дальнейшего преобразования в таблицу во вложении.

Post's attachments

Export-table.jpg 82.39 Кб, файл не был скачан. 

You don't have the permssions to download the attachments of this post.

6

Re: Вставка спец. символов тексту с разным форматированием. Как сделать?

А идеальный результат мне нужен такой (изображение во вложении)

Post's attachments

Export-table_need.jpg 72.36 Кб, файл не был скачан. 

You don't have the permssions to download the attachments of this post.