Как найти PDF в Acrobat Reader и перейти на определенную страницу через параметр? - PullRequest
5 голосов
/ 07 мая 2010

Мы используем lucene в веб-приложении для поиска большого количества PDF-документов.

Рабочий процесс выглядит так:

  1. Пользователь вводит поисковый запрос

  2. Список результатов поиска предоставляется пользователю.

  3. Каждый результат поиска представляет собой один документ PDF и показывает пользователю, на какой странице был найден поисковый запрос. Каждая из этих страниц представлена ​​в виде гиперссылки.

  4. Если пользователь теперь щелкает по такой гиперссылке, он непосредственно переходит на эту страницу.

  5. Но теперь у пользователя возникает проблема, заключающаяся в том, что поисковый термин не выделяется на странице. Поэтому пользователю приходится самостоятельно искать поисковый запрос на странице.

Нам нужен способ выделить поисковый запрос на конкретной странице в PDF.

параметры открытия для Acrobat Reader позволяют либо выполнять поиск документа PDF (с выделением нажатия), либо переходить на определенную страницу. Но комбинация обоих параметров, которая нам нужна, не работает.

У кого-нибудь есть идеи, как можно перейти на страницу и выделить поисковый запрос в документе PDF? Я взглянул на Acrobat SDK, но не понимаю, как мы можем его использовать (это ужасно задокументировано).

Ответы [ 3 ]

2 голосов
/ 21 июня 2010

acrobat использует плагин для подсчета терминов и требует потока fdf для обозначения слов для подсчета слов. Смотрите здесь для указателей:

support.dtsearch.com / dts0152.htm

Обновление:

при условии, что вы знаете страницу # и слово # на странице, чтобы подсвечивать, вот один из способов сделать это:

На веб-странице:

<iframe id="acroframe" src="pdfpage/example.pdf#xml=http://example.com/hilite.aspx?hilite=8e3302ee-ff88-41ee-bdfb-9e8df87cc3ad&toolbar=1&navpanes=0&statusbar=0&view=FitH">
</iframe>

PDF будет отображаться во фрейме, отображать панель инструментов, скрывать панель навигации и строки состояния и подгонять страницу по горизонтали. Затем он запросит веб-сайт, чтобы получить данные xfdf для подсветки: http://example.com/hilite.aspx?hilite=8e3302ee-ff88-41ee-bdfb-9e8df87cc3ad

Здесь я использовал ключ guid, который ранее сохранял в сеансе со значением hilite xfdf. Страница hilite.aspx вернет что-то похожее на следующие слова в документе:

<XML>
<Body units=characters color=#ff00ff mode=active version=2>
<Highlight>
<loc pg=15 pos=3583 len=5>
</Highlight>
</Body>
</XML>

Это даст 5 символов на странице 15, начиная с позиции 3583. (примечание: xfdf - это не настоящий «XML», несмотря на сходство)

Обратите внимание, что в программе Acrobat Reader должна быть включена опция «Включить подсветку поиска с внешнего сервера подсветки».

0 голосов
/ 24 мая 2010

Вам нужно написать фрагмент Javascript, чтобы получить поведение, которое вы ищете.

0 голосов
/ 09 мая 2010

Извините, возможно, это не ответ, но можно обойти эту проблему, чтобы преобразовать PDF в html и использовать маркер Lucene (аналогично тому, что делает Google)

...