| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > Проверка орфографии с помощью Perl и MS Word |
| Автор: Suppir 26.9.2011, 14:59 |
| Добрый день! Подскажите, кто уже делал подобное. Есть большие текстовые файлы, я прогоняю их Perl-скриптом и достаю нужные абзацы. Теперь нужно в этих абзацах сделать проверку орфографии (проверка пунктуации не нужна). Можно ли использовать словари Word'а для проверки орфографии? Чтобы Perl вызвал Word в фоновом режиме и прогнал через его спеллчекер? Добавлено через 13 минут и 44 секунды Причем, мне не нужно, чтобы всплывало окно проверки орфографии Word. Мне нужно, например, послать переменную "миниципального" и в результате вернуть 1, если такое слово есть в словаре Word, и 0, если такого слова нет. |
| Автор: Pfailed 26.9.2011, 16:43 |
| Помоему есть средства более подходящие чем word. Попробуйте Text::Aspell |
| Автор: Suppir 26.9.2011, 16:46 |
| Дело в том, что у пользователей уже "хорошо обученные" словари Word. Словари Aspell придется заново обучать специфичной тематике. |
| Автор: shamber 26.9.2011, 20:29 |
| смотрите http://cpan.uwinnipeg.ca/htdocs/Lingua-MSWordSpell/Lingua/MSWordSpell.pm.html |
| Автор: Suppir 27.9.2011, 08:31 |
| Смотрите, на AutoIt получилось решить: http://autoit-script.ru/index.php/topic,6867.msg47472/topicseen.html#new shamber, спасибо, попробую. |
| Автор: Suppir 27.9.2011, 10:54 | ||
На Perl написал, используя OLE. Смотрите, как все просто:
Только нужно в кодировке ANSI посылать. Добавлено через 2 минуты и 44 секунды Имхо, очень полезная вещь! |
| Автор: Suppir 27.9.2011, 13:34 |
| Вопрос: Я создаю объект use Win32::OLE; $word = CreateObject Win32::OLE 'Word.Application'; Но не дожидаюсь окончания работы скрипта и закрываю консоль. При этом в задачах приложение Word продолжает висеть и работать. Можно ли как-то связать выполнение скрипта и запущенный Word - если скрипт принудительно закрывают, то для объекта предварительно делать $word->Quit; ? |
| Автор: shamber 27.9.2011, 14:49 | ||
? |
| Автор: Suppir 27.9.2011, 15:04 |
| shamber, нет, процесс Winword остается! Т.е. я закрываю консоль Perl-скрипт с помощью крестика, не дождавшись до завершения скрипта. Можно ли в таком случае закрыть процесс winword, который был вызван этим скриптом? |
| Автор: Pfailed 27.9.2011, 18:32 |
| При закрытии консоли приложению обычно прилетает SIGHUP, хотя не факт что в windows это так. |
| Автор: KSURi 27.9.2011, 23:06 |
| В конструктор OLE-объекта можно передать ссылку на кастомный "деструктор". Читайте документацию внимательней. |