Получение форматирования из текстовых документов с помощью C # Interop - PullRequest
0 голосов
/ 05 января 2012

Я использую Word Interop и C # для создания программы на работе, и одной из ее функций является подсчет слов.

Теперь это не может быть подсчетом слов, так как мне нужно эмулироватьколичество слов в том же инструменте CAT, используемом на работе.

Одна из обнаруженных мной проблем заключается в том, что инструмент CAT использует форматирование текста для разделения слов.Это означает, что если у меня есть слово 1st с надстрочной надписью st, слово будет считаться одним словом (поскольку ничего не разделяет два), а инструмент CAT подсчитывает 2 слова в соответствии с изменением формата текста.

Дело в том,Инструмент CAT отслеживает изменения формата, и эта информация разбивает слово.

Итак, я мог бы переходить от слова к слову, символ за символом и проверять все возможности (шрифт, полужирный, курсив и т. Д.), Но этоочень медленно работайте с несколькими документами, каждый из которых содержит тысячи слов.

Кто-нибудь знает лучшее решение?

1 Ответ

2 голосов
/ 10 января 2012

Что ж, Синди с форумов MSDN дала мне ответ на этот вопрос

http://social.msdn.microsoft.com/Forums/en-US/worddev/thread/16fc1fb9-4713-45e5-ae00-76bbaafe0a56

, тогда подход, который я рассмотрю, будет использовать Document.Content.WordOpenXML для извлечения содержимого в строку.Содержимое будет иметь формат Office Open XML «плоский пакет», то есть оно должно содержать все.

После этого вы сможете «проанализировать» строку, чтобы получить необходимую информацию.

Если вы посмотрите на такую ​​строку, вы должны увидеть, что весь текст находится в элементах.Если есть форматирование, то оно будет разбито на части - одна часть для каждого изменения форматирования.Таким образом, все, что вам нужно сделать в дополнение к извлечению всех элементов w: t, это проверить наличие знаков препинания и пробелов, которые иначе обозначают слова в тексте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...