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

  • Автор темы Автор темы Genusatplay
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Genusatplay

Участник
Топикстартер
Сообщения
73
Реакции
156
День добрый.
Ситуация такая, документ содержит много табличек, сверстан в InDesign, выгоняется pdf файл.
Нужно реализовать поиск в pdf файле по определенным столбцам таблиц.
В расширеном поиске увидел "Искать по выбранному индексу" думал, вот оно, сделать както индексы на каждый столбец и проблема решена, но увы это не внутренние индексы.
Есть вариант написать в ИнДизайне скрипт который перегонит весь текст в ячейках таблицах в "текстовые поля", а в пдф'е сделать поиск по полям с определенным именем можно, но для этого потребуется дополнительная форма в которую нужно будет вбивать запрос, и проблема с выводом найденной информации, или в новый пдф файл высыпать, или на той же странице в заранее подготовленные поля скидывать информацию, что не есть удобно, т.к. при большом количестве найденного будет не все отображаться.
вобщем посоветуйте какие-нибудь грязные хаки, чтоб реализовать поиск по определенному столбцу.. ну или ткните в правильный научный подход.
любые мысли по этому поводу могут помочь.
 
Ответ: Хитрый поиск в PDF(по определенным столбцам таблиц)

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

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

увы, стиль у столбцов одинаковый
Дима! Если надо скриптом прогонишь и поменяешь. Это же не проблема. Допустим стили разные, то что предлагает тов. МБК?
 
Ответ: Хитрый поиск в PDF(по определенным столбцам таблиц)

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

Тогда что ты предлагаешь?
 
Ответ: Хитрый поиск в PDF(по определенным столбцам таблиц)

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

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

Не, ты задачу не понял.
Нужно в поиск добавить дополнительное условие, скажем, искать слово "Пупкин" в столбце "Фамилия" или "3 копейки" в столбце "Зарплата" ,)
 
Ответ: Хитрый поиск в PDF(по определенным столбцам таблиц)

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

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

Для ясности, чего это я всё знаю про задачу ТС: задача решается для меня.

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

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

Если жестко, то вообще все просто - вбиваешь в скрипт координаты каждого столбца и ищешь только там где надо.
Жёстко. Почти жёстко. Идея хорошая, переверстаем если что документ. Теперь можешь Диме сказать где копать в SDK Акробата? А то я юзверь, а не кодер.

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

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

На время поиска подрезаем файл по размеру нужного столбца, ищем стандартным search.query(...) а затем обратно возвращаем

P.S. Одна огромная оговорка: должно работать в ридере адобовском :( То есть надо продумать, чтобы не затронулись фишки "только для платных версий".
Ридер не умеет "подрезать" :( Блин, да и скрипт для поиска координат не запашет... Или запашет если сделать как кнопку формы запрограммированную? Рррр...
 
Ответ: Хитрый поиск в PDF(по определенным столбцам таблиц)

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

В общем, проверил, Reader - это, конечно, беда, но не катастрофа. Конечно же, обрезать он не дает, поэтому стандартный search, хоть и работает, но бесполезен, поскольку фильтровать результаты никак нельзя. Можно сделать так: заполнить массив слов в каждой колонке, читая их вместе с координатами через getPageNthWord и getPageNthWordQuads, а потом проверяя на координаты. При поиске просто перебирать этот массив и при нахождении выделять найденное слово через selectPageNthWord. Конечно, не так просто и красиво, как можно было сделать в professional, но, должно работать.
 
Ответ: Хитрый поиск в PDF(по определенным столбцам таблиц)

заполнить массив слов в каждой колонке, читая их вместе с координатами через getPageNthWord и getPageNthWordQuads, а потом проверяя на координаты.
можно по подробнее? не понял как это должно работать.
 
Ответ: Хитрый поиск в PDF(по определенным столбцам таблиц)

Да покрасьте вы столбцы в какие споты с совпадающим Alternative Color Space вот и появится критерий.
 
Статус
Закрыто для дальнейших ответов.