Конвертировать doc в txt через командную строку

Мы ищем программу, которая позволяет нам конвертировать документ doc или docx в файл txt. Мы работаем с Linux и хотим запустить веб-сайт, который конвертирует загруженные пользователем файлы документов. Мы не хотим использовать open office/libre office, потому что у нас с этим плохой опыт. Pandoc не может обрабатывать файлы документов :/

У кого-нибудь есть идея?


person user698601    schedule 28.06.2011    source источник


Ответы (3)


Вам придется использовать два разных инструмента командной строки, в зависимости от того, работаете ли вы с форматом .doc или .docx.

Для .doc используйте catdoc:

catdoc foo.doc > foo.txt

Для .docx используйте docx2txt:

docx2txt foo.docx

Последний создаст файл с именем foo.txt в том же каталоге, что и оригинал.

Я не уверен, какой дистрибутив Linux вы используете, но и catdoc, и docx2txt доступны в репозиториях Ubuntu, например:

apt-get install docx2txt

Или с Homebrew на Mac:

brew install docx2txt
person harlandski    schedule 12.11.2016
comment
Спасибо за информацию, к сожалению, для меня brew install docx2txt не работает, команда 'catdoc' недоступна, и мне нужно использовать 'docx2txt.sh' вместо 'docx2txt'. - person Barney Szabolcs; 17.11.2019
comment
Оказывается, catdoc был делегирован на кладбище, но его можно собрать из исходного кода, подробности здесь: apple.stackexchange.com/a/ 294259/36790 - person Barney Szabolcs; 17.11.2019

вот perl-проект, который утверждает, что делает это. Я также многое сделал вручную, используя XSLT в document.xml. сам файл Docx представляет собой просто zip-файл, вы можете разархивировать его и проверить элементы. Я скажу, что это нетрудно сделать для конкретных файлов, но очень трудно сделать в общем случае из-за отсутствия документации о том, как Word хранит вещи внутри, и различий во внутреннем представлении.

person Paul Sanwald    schedule 28.06.2011

Для файлов doc вы можете использовать Antiword, он доступен в Homebrew и Ubuntu.

person Mishari    schedule 03.03.2020