Страница 4 из 19

Добавлено: Чт авг 16, 2007 18:34
Alextp
Ник
Или нужно делать многократный поиск: по Windows-1251, по ASCII, по KOI-8R, по UTF-8, UTF-16...
А что плагин должен для этого делать?
Кстати, Алексей, а нельзя ли для поисковика сделать лог-файл + показывать предупреждения, что типа это не та кодировка - не могу найти - и в конце работы писать список файлов не с той кодировкой?
Можно. Что писать в лог-файл? :)
Строку запуска конвертера? Успешно ли сконвертировалось? можно. Еще что-то?

Кстати, если сделать ключ {RTF}, то конвертеры для RTF не будут нужны...

Добавлено: Чт авг 16, 2007 18:41
Ник
Alextp писал(а):Еще какие-нибудь нужно? {RTF}? {UTF16}?
Что такое в данном контексте RTF, мне не ясно - а вот последнее, думаю, пригодится.
Нужно - ИМХО - обязательно ASCII (866) и KOI-8R.

Добавлено: Чт авг 16, 2007 18:45
Ник
Alextp писал(а):Что писать в лог-файл? :)
Строку запуска конвертера? Успешно ли сконвертировалось? можно. Еще что-то?
Ну типа какая кодировка была - т.е. какую плагин "выявил" (если это реально), а юзер уже сравнит с тем, что есть на самом деле...
Alextp писал(а):Кстати, если сделать ключ {RTF}, то конвертеры для RTF не будут нужны...
Вот это не очень ясно - плагин сам сконвертирует?
А как тогда, если кодировка внутри RTF неправильно задана? Или это пусть юзер сам приводит в чувство свои файлы (в RTF часто такой бред внутри с форматами и кодировками)?

Добавлено: Чт авг 16, 2007 18:47
Ник
Stepan_Lameroff писал(а):GetTextIFilter...
...
Для работы требуется .Net Framework 2.0+
Это, ИМХО, не наш метод :)

Добавлено: Чт авг 16, 2007 18:49
Alextp
Что такое в данном контексте RTF, мне не ясно - а вот последнее, думаю, пригодится.
Нужно - ИМХО - обязательно ASCII (866) и KOI-8R.
OK. Будет {UTF8}, {OEM} и {KOI8R}.

Добавлено: Чт авг 16, 2007 19:04
Alextp
Ник
Ну типа какая кодировка была - т.е. какую плагин "выявил" (если это реально), а юзер уже сравнит с тем, что есть на самом деле...
Нет, он не выявляет ничего. Хотя можно сделать {Auto} для выявления (UTF8, UTF16).

Вот это не очень ясно - плагин сам сконвертирует?
Да, если укажешь {...} в комстроке.
А как тогда, если кодировка внутри RTF неправильно задана?
Не знаю.

Добавлено: Чт авг 16, 2007 22:36
Alextp
Плагин обновлен. Ник?

Добавлено: Пт авг 17, 2007 00:07
Stepan_Lameroff
FiltDump от Microsoft (лежала приблуда в Platform SDK :-))
Передается имя файла, результат выводит в stdout.
Работает кривовато (имеется в виду качество извлечения текста), но быстро.

Добавлено: Пт авг 17, 2007 12:31
Ник
Извини, что-то извещение об ответе на мыло не пришло...

Тестирую - вроде всё ОК, но для RTF я из осторожности использую GetText, а не встроенную возможность.

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

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

ОФФ:
Совет - все конверторы в текст, которые Вы используете с данным плагином - загоните также в настройки (PDF)filter http://wincmd.ru/plugring/filter.html - он работает по тому же принципу, но листер-плагин.
Тогда Вы, найдя нужные файлы, сделаете список на панели и сразу по F3 или Ctrl-Q сможете все эти файлы посмотреть практически в том виде, в каком их увидел TextSearch - и сможете найти конкретное слово в конкретном файле (в т.ч. в (PDF)filter встроен поиск с последовательной конвертацией страниц для тех конверторов, что не конвертируют больше 1 страницы за раз).
В общем, комбинируйте и экспериментируйте... :)
НЕ-ОФФ.

Алексей - огромное спасибо! :)

Добавлено: Пт авг 17, 2007 12:41
Alextp
Тестирую - вроде всё ОК, но для RTF я из осторожности использую GetText, а не встроенную возможность.
Там могут быть отличия. ты сам говорил, в RTF быйда с кодировками
Единственное замечание - если не получается конвертировать файл в текст (например, PDF без текстового слоя вообще), то выскакивает соответствуюшее сообщение и требует нажать "ОК". При этом, как я понимаю, работа поиска останавливается.
И предлагаешь сделать опцию? для отключения messagebox? Можно.

ИМХО, лучше было бы в самом конце поиска давать сообщение (не блокирующее ТК!!): "не смогло конвертировать столько-то файлов"
Это не получится. "В самом конце"- плагин об этом не знает..

Добавлено: Пт авг 17, 2007 12:59
Ник
Тогда, видимо, нужно делать опцию отключения мессаджа в настройках - и тут же написать - "Включите сразу же лог - иначе ничего не поймёте"...

Сейчас найду разные RTF и покручу...

Добавлено: Пт авг 17, 2007 13:40
Ник
Проверка RTF:

Взято 41 файл RTF, 25 штук ANSI 1251, остальные другие (разные). Общий объём 65 Мб. Файлы по типу совершенно разные.

Ищем через GetText слово "не" - найдено 37 файлов из 41. Не найденные 4 штуки - в 3-х нет слова "не", в одном - полная задница с кодировкой (хотя View64 можно настроить так, чтобы он его видел).

Ищем через встроенный в плагин конвертор RTF по тому же слову - найдено 26 файлов из 41...

Образцы файлов могу сжать и прислать - или выложить куда-нибудь.

Добавлено: Пт авг 17, 2007 15:07
Ник
Stepan_Lameroff писал(а):FiltDump...
Может это и "приблуда", но не утилита ;)
Она берёт список фильтров, установленных в системе, сама только их использует для конвертации.
Может быть иногда полезной.

Добавлено: Пт авг 17, 2007 16:17
Alextp
Ник
Ищем через GetText слово "не" - найдено 37 файлов из 41. Не найденные 4 штуки - в 3-х нет слова "не"

Ищем через встроенный в плагин конвертор RTF по тому же слову - найдено 26 файлов из 41...
Так потому что "мой" rtf конв. понимает только ANSI RTF. Поэтому и нашлось 25 файлов ANSI + 1 случайный не в той кодировке в котором тоже есть слово "не". Так что все ОК. Вот если научиться распознавать кодировку RTF..


SL
Утилиту не включаю в списвко потому что нет ридми, нет настроенного конфига TextSEarch.ini

Добавлено: Пт авг 17, 2007 16:37
Ник
Alextp писал(а):Вот если научиться распознавать кодировку RTF
Она же там явно вроде бы прописана- есть же спецификация формата.
Правда, может быть текст из кусков на нескольких языках - вроде бы перед каждым куском указывается его кодировка.

Другое дело, что нужно различать "классический RTF" и "RTF от MSO" - вот это действительно проблема...

Единственная радость - как я понимаю, в варианте от МСО русский текст содержится в явном виде - конвертация не ухудшает поисковой ситуации :)

Правда, ещё есть проблемы Уникодного RTF и Ансишного...
Но View64 распознает и показывает их правильно - может попытаться найти его автора и попросить исходники?