Рейтинг:  5 / 5

Звезда активнаЗвезда активнаЗвезда активнаЗвезда активнаЗвезда активна
 

Извлечение картинок из файлов Microsoft Word

Внутри документа Microsoft Word может содержаться множество самой разной информации: таблицы и диаграммы, рисунки и элементы форматирования, формулы и ссылки. Однако иногда возникает необходимость извлечения какого-либо рисунка из документа и сохранения его отдельно. К таким рисункам могут относиться съёмки экрана или вставленные прямо в редактор отсканированные фотографии. Сегодня мы приведём два с половиной способа, с помощью которых читатели смогут вытащить картинки из документов. Вариант пересъёмки экрана с последующей вставкой в графический редактор мы не рассматриваем, так как это занятие чрезмерно трудоёмкое и может привести к значительному искажению первоначального изображения или потере его качества.

Первый способ доступен также и для старых версий Microsoft Office, суть его состоит в том, чтобы повторно сохранить документ в формате Веб-страницы (*.htm, *.html). При сохранении следует обратить внимание на используемое сжатие рисунков (Сервис-Сжать рисунки…), требуется снять галочку Выполнять базовое сжатие при сохранении и выбрать приемлемое качество вывода.

В директории, в которую сохраняется страница, будет создана папка с именем сохраняемого файла плюс «.files». Именно в этой папке и будут размещаться извлечённые картинки вместе с несколькими служебными файлами.

Следует также отметить, что в Office 2010 появилась возможность сохранять изображения с первоначальным разрешением.

Второй способ, на наш взгляд, выглядит более элегантным и для своего выполнения не требует наличия установленного пакета Microsoft Office, правда, файл должен быть сохранён в формате Office 2007 или более новом и иметь расширение docx. Сохранение документа в таком формате возможно не только с помощью офисного пакета версии 12 (Office 2007), но также и с помощью специального конвертера для Office XP или 2003. Документ в формате Office 2007 по своей сути является ZIP-архивом нескольких служебных файлов и пользовательских изображений. Мы открыли директорию с документами в новом формате с помощью архиватора WinRAR x64 3.93. Ниже приводится информация об одном из содержащихся в папке файлов.

Мы решили извлечь файлы из архива, для чего воспользовались кнопкой Извлечь… панели инструментов архиватора. После процедуры распаковки требуется перейти в каталог word\media, расположенный внутри папки для извлечения. В этом каталоге и будут находиться извлечённые картинки. Здесь же необходимо заметить, что параметры обрезки краёв пользовательских изображений не сохраняются, то есть если у какого-либо изображения были обрезаны края средствами редактора Microsoft Word, то после извлечения картинки будут полными, то есть обрезанные края также будут присутствовать.

Если специализированный архиватор на компьютере не установлен, то можно поменять расширение файла с docx на zip и обрабатывать его с помощью встроенного в Windows механизма zip-папок.

Наш третий способ во многом основывается на втором, а именно использует архиватор WinRAR для обработки документа, но в скрытой форме. Мы установили файловый менеджер Far 2.0 x64 (Сборка 1420), к которому подключили предустановленный WinRAR для обработки архивов. Такое подключение можно осуществить с помощью приведённого ниже файла реестра.

REGEDIT4
[HKEY_LOCAL_MACHINE\Software\Far2\Plugins\MultiArc\ZIP]
"Extract"="winrar x {-p%%P} {-ap%%R} -y -c- {%%S} %%A @%%LNM"
"ExtractWithoutPath"="winrar e -av- {-p%%P} -y -c- {%%S} %%A @%%LNM"
"Test"="winrar t -y {-p%%P} -c- {%%S} %%A @%%LNM"
"Delete"="winrar d -y {-w%%W} {%%S} %%A @%%LNM"
"Comment"="winrar c -y {-w%%W} {%%S} %%A"
"CommentFiles"="winrar cf -y {-w%%W} {%%S} %%A {@%%LNM}"
"SFX"="winrar s -y {%%S} %%A"
"Lock"="winrar k -y {%%S} %%A"
"Protect"="winrar rr -y {%%S} %%A"
"Recover"="winrar r -y {%%S} %%A"
"Add"="winrar a -y {-p%%P} {-ap%%R} {-w%%W} {%%S} %%A @%%LN"
"Move"="winrar m -y {-p%%P} {-ap%%R} {-w%%W} {%%S} %%A @%%LN"
"AddRecurse"="winrar a -r0 -y {-p%%P} {-ap%%R} {-w%%W} {%%S} %%A @%%LN"
"MoveRecurse"="winrar m -r0 -y {-p%%P} {-ap%%R} {-w%%W} {%%S} %%A @%%LN"
"AllFilesMask"="*.*"

Теперь Far может работать с документами docx, как с обычными папками, то есть просматривать из них файлы и копировать данные в несжатые обычные каталоги. Также допускается открывать файлы в связанных программах-редакторах с помощью привычного нажатия на Enter.

Правда, простая вставка графического файла в архив не приведёт к желаемым результатам: при попытке открыть документ Microsoft Word выдаст сообщение об ошибке. Для такой вставки потребуется править xml-файлы со структурой документа, расположенные в архиве, но это уже совершенно другая тема.

Краткий обзор нескольких способов извлечения пользовательских картинок из документов Microsoft Word на этом завершается, от себя мы лишь хотели бы добавить, что переход к открытому формату документа в Office 2007 сделает его поддержку сторонними разработчиками простой и прозрачной.

You have no rights to post comments

Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter