Выделение поисковых терминов в документе MS Word - PullRequest
2 голосов
/ 16 января 2009

У нас есть проект, в котором мы должны обеспечить поиск по коллекции документов Word через веб-интерфейс. Клиент хотел бы, чтобы поисковые термины выделялись при открытии документа пользователем.

Есть ли способ сделать это непосредственно в Word при открытии документа? Единственная альтернатива, которую мы можем придумать, - конвертировать документы Word в HTML и отображать их.

Только для фона, в настоящее время мы используем Windows SharePoint Services для поиска документов.

Ответы [ 2 ]

2 голосов
/ 16 января 2009

Вы можете сделать это, используя функцию выделения текста в Word. Однако, чтобы использовать эту функцию, вам придется использовать автоматизацию Word на стороне сервера или на стороне клиента.

Сценарий в VBA для выделения поискового запроса может выглядеть следующим образом:

Sub Highlight(oDoc As Word.Document, term As String)

    With oDoc.Range.Find
        .ClearFormatting
        .Replacement.ClearFormatting
        .Replacement.Highlight = True
        .Text = term
        .Replacement.Text = term
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
        .Execute Replace:=wdReplaceAll
    End With

End Sub

Скрипт выполняет поиск и замену и применяет подсветку к найденному тексту. Если у вас есть вопросы о том, как лучше всего автоматизировать Word, например, в серверной среде, не стесняйтесь спрашивать.

1 голос
/ 04 мая 2010

Существует продукт от Kwizcom, который удовлетворяет эту потребность - я не пробовал, ваш пробег может отличаться! Подсветка строки поиска в SharePoint - http://www.kwizcom.com/ProductPage.asp?ProductID=28

Кроме того, если допустимо преобразование документов Word в PDF (и при условии, что у вас установлен PDF iFilter, чтобы их можно было проиндексировать), тогда выделение поискового термина в результирующем документе доступно путем добавления параметров в URL. Клиент Adobe Viewer может их интерпретировать и в основном выполняет поиск документа на стороне клиента. Подробнее см. http://www.novolocus.com/2008/05/15/hit-highlighting-inside-adobe-pdfs-using-sharepoint-search/.

Надеюсь, это поможет!

...