Существует ли (Linux) инструмент командной строки для извлечения всех изображений из документа MS Word (предпочтительно тот, который может обрабатывать формат .docx)?
2 ответа
Поскольку файлы docx являются файлами zip, вы можете разархивировать файл docx, а затем выбрать файлы изображений.
У меня нет Microsoft Office для тестирования, поэтому я скачал несколько случайных файлов DOCX из Интернета. Кажется, что изображения всегда хранятся в каталоге word/media
в архиве.
Эта команда извлечет все файлы из media
каталога из архива:
unzip foo.docx "word/media/*"
Эта команда будет извлекать только файлы *.jpeg
:
unzip foo.docx "*.jpeg"
Обратите внимание, что вы должны указать "*.jpg"
если файлы сохраняются как jpg
вместо jpeg
. Я предполагаю, что также возможно, что изображения хранятся в другом формате. Я понятия не имею, могут ли изображения храниться в другом месте, кроме каталога word/media
. Вы можете использовать unzip -l
для просмотра содержимого архива.
Сохранение документа Word в виде веб-страницы - это метод, используемый в Windows для извлечения всех изображений в папку: http://support.microsoft.com/kb/555171
Это может быть долго, но, возможно, вы можете управлять Open Office на Linux из командной строки, чтобы извлечь изображения, возможно, преобразовав их в веб-страницу и в конечном итоге получив изображения в вспомогательной папке, которую он создаст.