Надежное получение количества символов для файлов.doc
Какой надежный способ автоматического подсчета символов и / или слов в файле.doc или.docx?
Единственное реальное требование - это достаточно точный и достаточно надежный счет.
Он должен работать с документами, содержащими что-то отличное от латинского алфавита, поэтому для большинства случаев достаточно подсчета символов.
Количество не обязательно должно совпадать с Word, но чем ближе, тем лучше.
Поскольку существует множество различных приложений, которые могут генерировать файлы.doc, можно ничего не подсчитывать, но этот случай должен быть отслеживаемым, поэтому мы знаем, что подсчет может быть неточным. Во всех остальных случаях, скажем, счет должен быть, по крайней мере, на 99% точным, по крайней мере, на 99% времени.
Я открыт в отношении задействованных технологий, но что-то, что может работать в командной строке *NIX, было бы весьма предпочтительным.
Есть ли разумное решение для этого?
4 ответа
Вот ссылка на некоторые Linux-преобразователи слова в текст.
Например, вы могли бы использовать
antiword file.doc | wc
сделать подсчет.
Редактировать:
Эта ссылка показывает, что AbiWord имеет интерфейс командной строки, который можно использовать для преобразования формата.docx в.txt, а затем подсчитывать слова, используя "wc". AbiWord поддерживает формат docx
Mac OS X поддерживает чтение файлов слов, встроенных в системные структуры, так что если у вас это есть, это легко. Образец MacRuby:
NSSpellChecker.sharedSpellChecker.countWordsInString(NSAttributedString.alloc.initWithURL(fileURL, documentAttributes:nil), language:nil)
Более переносимо - хотя это и отказывается от поддержки docx - вы можете просто получить Antiword и сделать antiword | wc -w
,
Microsoft опубликовала спецификацию для форматов двоичных файлов Office. Анализ файла.DOC не выглядит тривиальным, но с некоторой осторожностью вы сможете получить надежный, повторяемый результат. Я понятия не имею, насколько близко это будет соответствовать тому, что показывает Word - это, вероятно, будет зависеть (хотя бы частично) от того, как вы определяете "слово" - например, считаете ли вы группу цифр "словом" или нет, Вероятно, не понадобится много времени, чтобы понять, как Word относится к таким случаям, поэтому не следует очень сложно находить близкое совпадение.
Если вы рассматриваете онлайн-приложения как решение, да, есть решение.
Этот не очень красивый (с точки зрения дизайна) сайт предлагает как количество слов, так и количество символов: http://allworldphone.com/count-words-characters.htm
Я не думаю, что есть предел, и не должно быть проблемой просто скопировать / вставить содержимое ваших документов в соответствующую текстовую область и увидеть результат.
Что касается точности 100% или 99%, вы можете проверить это с помощью нескольких (то есть 20-50 слов), посчитав их в первую очередь.
Надеюсь, это поможет. С уважением. Крис