Надежное получение количества символов для файлов .doc.

StackOverflow https://stackoverflow.com/questions/2278032

Вопрос

Каков надежный способ автоматического подсчета символов и/или слов в файле .doc или .docx?

Единственное реальное требование — это достаточно точный и достаточно надежный подсчет.
Он должен работать с документами, содержащими что-то кроме латинского алфавита, поэтому в большинстве случаев подсчета символов достаточно.
Число не обязательно должно совпадать со значением Word, но чем ближе, тем лучше.
Поскольку существует множество различных приложений, которые могут генерировать файлы .doc, ничего не посчитать — это нормально, но этот случай должен быть уловимым, чтобы мы знали, что подсчет может быть неточным.Во всех остальных случаях точность подсчета должна быть, скажем, не менее 99%, по крайней мере, в 99% случаев.

Я открыт для использования технологий, но было бы предпочтительнее что-то, что может работать в командной строке *NIX.

Есть ли разумное решение для этого?

Это было полезно?

Решение

Вот связь для некоторых преобразователей слова в текст Linux.

Например, вы можете использовать

antiword file.doc | wc

сделать подсчет.

Редактировать:

Этот связь показывает, что AbiWord имеет интерфейс командной строки, который можно использовать для преобразования формата .docx в .txt, а затем подсчитывать слова с помощью «wc».AbiWord поддерживает формат docx.

Другие советы

В Mac OS X есть поддержка чтения текстовых файлов, встроенная в системные платформы, поэтому, если она у вас есть, это легко.Образец МакРуби:

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 слов), предварительно посчитав их самостоятельно.

Надеюсь, это поможет.С уважением.Крис

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top