Хитрый поиск в PDF(по определенным столбцам таблиц)

  • Автор темы Автор темы Genusatplay
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
Ответ: Хитрый поиск в PDF(по определенным столбцам таблиц)

Ну метод getPageNthWord возвращает Nное слово на странице, а getPageNthWordQuads - его координаты (точнее, координаты прямоугольника, в который оно вписано) проверяем в цикле все слова на соответствие поисковому запросу, а координаты - принадлежности столбцу. При соответствии подсвечиваем нужное слово через selectPageNthWord. Синтатксис этих методов описан в JavaScript™ for Acrobat® API Reference:

getPageNthWord
Gets the nth word on the page.
See also getPageNumWords and selectPageNthWord.
Note:This method throws an exception if the document security is set to prevent content extraction.
Parameters
Returns
The nth word on the page.
Example
See Example 2 of spell.checkWord for an example.
5.0
nPage
(optional) The 0-based index of the page. The default is 0, the first page in the document.
5.0
S
nPage
(optional) The 0-based index of the page. The default is 0, the first page in the document.
nWord
(optional) The 0-based index of the word. The default is 0, the first word on the page.
bStrip
(optional) Specifies whether punctuation and white space should be removed from the word before returning. The default is true.
Adobe Acrobat SDK JavaScript API
JavaScript for Acrobat API Reference getPageNthWordQuads 312
getPageNthWordQuads
Gets the quads list for the nth word on the page. The quads property of the Annotation object can be used for constructing text markup, underline, strikeout, highlight and squiggly annotations. See also getPageNthWord, getPageNumWords, and selectPageNthWord.
Note:This method throws an exception if the document security is set to prevent content extraction.
Parameters
Returns
The quads list for the nth word on the page.
Example
Underline the fifth word on the second page of a document.
var annot = this.addAnnot({
page: 1,
type: "Underline",
quads: this.getPageNthWordQuads(1, 4),
author: "A. C. Robat",
contents: "Fifth word on second page"
});
See spell.checkWord for an additional example.
getPageNumWords
Gets the number of words on the page.
See also getPageNthWord, getPageNthWordQuads, and selectPageNthWord.
Parameters
5.0
S
nPage
(optional) The 0-based index of the page. The default is 0, the first page in the document.
nWord
(optional) The 0-based index of the word. The default is 0, the first word on the page.
Джава не слушайте - допустим перекрасили в разные цвета, и что дальше?
 
Ответ: Хитрый поиск в PDF(по определенным столбцам таблиц)

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

но альтернативные варианты все равно рассматриваются, мб что поудобнее будет.
 
Ответ: Хитрый поиск в PDF(по определенным столбцам таблиц)

Зачем при старте? Вводим поисковое слово, затем проверяем все слова на странице сперва на координаты а потом на соответствие запросу. Можно даже ничего никуда не заносить. Ну, разве что, если, скажем, запрос более из одного слова состоит, сперва расставить уже отфильтрованные слова в нужном порядке в виде непрерывного текста а потом в нем искать. В общем, простор для фантазии.
 
Ответ: Хитрый поиск в PDF(по определенным столбцам таблиц)

Кстати, встречный вопрос знатокам адобы (Жоре, Димону и др) - что такое индексы (PDX), с чем их едят и как готовят? В ридере, вроде, поиск по ним побогаче будет, чем в обычном PDF, так может, если копать в эту сторону, то можно нарыть более правильное решение проблемы?
 
Ответ: Хитрый поиск в PDF(по определенным столбцам таблиц)

вот думаю какой вариант будет лучше..
поиск в обоих вариантах будет осуществляться через "интерактивную форму", другого варианта как я понял нету, результаты в обоих вариантах нужно будет складывать в массив, что бы на 1ной странице можно в полях было крутить результаты вперед назад если будет много совпадений, линки на найденные позиции сделать в предложенном Вами варианте чуть проще, да и реализуется только скриптом для пдфа
в моем варианте разве что поиск проще делать, пока сделан обычным совпадением, но regexp накрутить не будет сложно
по скорости/тормознутости немогу прикинуть что будет лучше..
 
Ответ: Хитрый поиск в PDF(по определенным столбцам таблиц)

А тогда вообще зачем скрытые поля нужны?
Через регексп можно, даже, наверное, быстрее, но тогда нужно будет все слова в колонке в единый текст объединить, но запомнить куда-то позицию для каждого слова, а потом подсвечивать найденные фрагменты.
 
Ответ: Хитрый поиск в PDF(по определенным столбцам таблиц)

индексы - это внешние пдфки добавляются к поиску(при сохранении относительных путей к ним). я первым делом эту штуку глянул, думал "индексы" для каждого столбца сделать и все решение, вроде не катит, ну я по крайней мере не нашел..
единственное у меня была мысля.. а если сделать на каждый столбец по пдфке, и при поиске както подменять линк с найденной позиции в нужном столбце на такую же позицию в текущем документе, вот так думаю можно былоб сделать =) да только доступа к стандартному поиску нету, ну и увеличение итого размеров в 2 раза минимум.
 
Ответ: Хитрый поиск в PDF(по определенным столбцам таблиц)

А тогда вообще зачем скрытые поля нужны?
Через регексп можно, даже, наверное, быстрее, но тогда нужно будет все слова в колонке в единый текст объединить, но запомнить куда-то позицию для каждого слова, а потом подсвечивать найденные фрагменты.
в скрытых полях у меня сейчас хранится информация 2ух полей, поиск тоже по 2ум полям, ну возможно по 3ем полям надо будет, изменить не сложно.
итого имеются лишния поля, но их удобно обрабатывать, просто при поиске по полям пробежаться и все, а regexp я имел ввиду относительно моего поиска применять только для значений в ячейке, для удобства
 
Ответ: Хитрый поиск в PDF(по определенным столбцам таблиц)

такую же позицию в текущем документе, вот так думаю можно былоб сделать =) да только доступа к стандартному поиску нету, ну и увеличение итого размеров в 2 раза минимум.
Да нет, смысла никакого, все равно подменять стандартный поиск своим надо. Вообще, какой-то очередной адобовский идиотизм - поиск есть, но как то сузить его дополнительными ограничениями программно невозможно. ':('
 
Ответ: Хитрый поиск в PDF(по определенным столбцам таблиц)

единственное у меня была мысля.. а если сделать на каждый столбец по пдфке, и при поиске както подменять линк с найденной позиции в нужном столбце на такую же позицию в текущем документе, вот так думаю можно былоб сделать =)
Кстати. на базе этого еще одна безумная идея родилась. Стандартный search в линкованных PDFах ищет? А то можно было бы, к примеру, держать на каждую колонку по два PDFа - один с текстами, а другой с кривыми и при поиске как то подменять линк (не знаю, правда, даст ли ридер это делать), чтобы не переведенным в кривые оставался только нужный столбец. Тогда и стандартный поиск использовать можно было бы.
 
Ответ: Хитрый поиск в PDF(по определенным столбцам таблиц)

Колонки с текстами можно разнести по слоям (продублировать готовую таблицу по слоям с удалением лишнего текста по-колоночно). Ридер слои видит и позволяет их отключать. Правда это никак (почти) не отражается на поиске. Блокирование слоя в Акробате тоже не помогает. Но может быть можно как-то "заскриптить" слои?
 
Ответ: Хитрый поиск в PDF(по определенным столбцам таблиц)

Имма оригинально, но эти таблицы уже участвуют "в слоёности отображения"(интерактив делается) у каждой свой слой... Но все равно держи плюсик.
 
Ответ: Хитрый поиск в PDF(по определенным столбцам таблиц)

Кстати. на базе этого еще одна безумная идея родилась. Стандартный search в линкованных PDFах ищет? А то можно было бы, к примеру, держать на каждую колонку по два PDFа - один с текстами, а другой с кривыми и при поиске как то подменять линк (не знаю, правда, даст ли ридер это делать), чтобы не переведенным в кривые оставался только нужный столбец. Тогда и стандартный поиск использовать можно было бы.
Тогда будет куча здоровых файлов-дубликатов. Слишком много для места на винте. Идея, но не подходит.
 
Ответ: Хитрый поиск в PDF(по определенным столбцам таблиц)

Джава не слушайте - допустим перекрасили в разные цвета, и что дальше?
А что нельзя задать критерий поиска AND цвет?
 
Ответ: Хитрый поиск в PDF(по определенным столбцам таблиц)

Разумеется, нельзя. Там вообще никакого критерия не подразумевается - просто текстовая строка и все. Да, предвосхищаю последующие вопросы: ни цвет, ни шрифт текста тоже посмотреть из скрипта нельзя - только само слово и его координаты... 'otbline'
 
Статус
Закрыто для дальнейших ответов.