Jump to content
СофтФорум - всё о компьютерах и не только

Как извлечь рисунок из word-документа?


__alex
 Share

Recommended Posts

Оказывается это нетривиальная задача, а кто бы мог подумать :D

Вот есть документ вордовский, в нем есть рисунок. Нужно его оттуда выдрать с максимальным качеством. Просто Копировать и потом в каком-нибудь графическом редакторе Вставить - получается рисунок с 256-цветной палитрой! Перетаскивать мышой в Проводник - появляется интересный файл Фрагмент.shs, тоже вобщем то ниче не дающий...

Дык и че делать то?

[mergetime]1112639293[/mergetime]

Да, пробовал я на office ХР и 2003, винда - ХР.

Link to comment
Share on other sites

__alex:

Ну раз нельзя прокопировать и вставить в редакторе (хотя не понимаю откуда такой глюк), попробуй Print Screen'ом его прямо из ворда, затем вставь в редактор, сохрани в BMP.

А вообще - копируй, вставляй в редактор, и в нем уже мудри с палитрой и форматами. Не может быть так, чтобы после "copy" и "paste" качество изображения ухудшилось.

Link to comment
Share on other sites

__alex:

Глюка нет, просто Word хранит рисунки, как и все прочее, довольно сложным образом, и то, что он отображает и выдает по Copy, далеко не всегда именно то, что он хранит.

Чтобы выдрать рисунок с хорошим качеством, надо попросить Word сохранить документ в формате htm, потом зайти в созданную Word'ом папку с рисунками и взять оттуда нужный (он, как правило, будет там в двух экземплярах с разным качеством, надо выбрать получше).

Link to comment
Share on other sites

Глюка нет, просто Word хранит рисунки, как и все прочее, довольно сложным образом, и то, что он отображает и выдает по Copy, далеко не всегда именно то, что он хранит.

Чтобы выдрать рисунок с хорошим качеством, надо попросить Word сохранить документ в формате htm, потом зайти в созданную Word'ом папку с рисунками и взять оттуда нужный (он, как правило, будет там в двух экземплярах с разным качеством, надо выбрать получше).

Респект! :sm(100):

Link to comment
Share on other sites

Вариант, которым я пользуюсь:

Очень часто рисунок имеет больший формат (и, соответственно, качество), чем мы видим в документе. Ставлю масштаб "страница по ширине", за уголочки растягиваю рисунок до заполнения экрана, а уж потом нажимаю "принтскрин". Дальше - в графический редактор.

Link to comment
Share on other sites

А теперь самый оригинальный и самый правильный вариант, хотя и не мой лично ;)

Извлечение картинок из doc-файлов

Афанасьев Владимир

Верстальщик. Ведущий проекта spiker.ru Окончил Московский Полиграфический институт (инженер-механик). В полиграфии с 1980 г.

Иногда случается, что заказчики приносят информацию, подготовленную ими в редакторе Microsoft Word. И, хотя в любом препресс-бюро на таких смотрят волком, выгонять заказчика не всегда представляется возможным. Приходится объяснять и... переверстывать (за счет заказчика, естественно). И тут мы сталкиваемся с задачей извлечения файлов картинок из этого продукта всеми нами «любимой» фирмы. Описанная ниже методика позволяет сделать это без какой-либо потери качества. Впрочем, подобное годится и для других файлов MS Office 97, включая почтовые форматы Outlook.

Для начала нам необходимо иметь какой-либо шестнадцатиричный редактор, лучше всего – HIEW.EXE для DOS (или UltraEdit для Windows).

Пользуясь им, открываем файл DOC, и переключаемся в 16-ричный режим. Далее делаем следующее (все примеры даны в расчете на hiew.exe):

1. Если нужный нам файл был помещен в виде JPG, то сразу можем начинать искать начало внедренного JPG-файла. А поскольку хранится он в исходном виде, то искать надо последовательность байт FF D8 FF при помощи волшебной клавиши F7.

Есть, конечно, вариант – искать текстовую сигнатуру «JFIF», а затем отсчитывать от нее назад 6 байт. Главное - найти начало. Затем устанавливаем маркер на первый FF из FF D8 FF и нажимаем еще одну клавишу: * («звездочку») на правой цифровой клавиатуре для начала пометки. После этого еще раз нажимаем F7 и задаем другую маску для поиска - FF D9 A0. Эта комбинация определяет конец файла JPEG. Но только в том случае, если это не последний JPEG, внедренный в .DOC-файл. Если же вдруг HIEW не смогла найти указанную комбинацию, значит, вы пытаетесь извлечь последний JPEG. Тогда надо задавать для поиска немного другой набор байт: FF D9 00 00. Обнаружив первый или второй вариант окончания файла, следует установить маркер на байт D9 и нажать еще раз «звездочку». Будет цветом выделен блок, в котором, собственно, и содержится файл JPEG. Возможно, это и не тот, что вам нужен, но определить это можно будет после сохранения его на диск и просмотра. Сохранить его можно нажатием кнопки F2. В открывшемся меню остается задать имя файла и подтвердить сохранение. Отменить пометку нажатием «звездочки». Все.

Если нужно извлечь несколько файлов, то указанные процедуры надо последовательно повторить несколько раз, не забывая отменять пометку блока клавишей *.

2. Если же дело касается документа, помещенного в документ Word в виде файла TIFF или BMP, то все выглядит примерно так же, как для JPEG, только сигнатуры будут другие. Ведь Word-97 при внедрении TIFF и BMP преобразует их в формат PNG. Значит, после открытия документа редактором HIEW, следует задавать поиск (F7) начала файла по сигнатуре ЙPNG (89 50 4E 47). Затем – пометка начала по буковке «Й» (89) с помощью клавиши «звездочка» на правой цифровой клавиатуре, еще раз F7 – и задание маски для поиска конца файла в виде «42 60 82». После обнаружения – установить маркер на код 82 и, еще раз нажав клавишу «звездочка», фиксируем пометку блока. Затем сохраняем выделенный блок в файл при помощи F2. При необходимости сконвертировать полученный PNG-файл в любой другой формат можно практически любой программой, работающей с изображениями (PV.EXE, ALCHEMY.EXE, IrfanView.EXE, PhotoShop и т.д.), поскольку PNG довольно распространенный формат.

3. В том случае, когда файл встроен в документ непосредственно в формате .BMP (например, какой-нибудь из почтовых форматов, или PPT из PowerPoint), то больших проблем тоже нет.

Первым делом ищем сигнатуру «BM». Обычно перед этой сигнатурой имеются нули. Установив маркер на букву «B», начинаем пометку блока (cерая «звездочка»). Затем берем 4 байта после «BM» и изучаем их. Они представляют собой размер встроенного файла. Только согласно системе представления данных в компьютерах PC размер записан «наоборот». То есть, если мы имеем, например, последовательность АС 1A 02 00, то, прочитав байты в обратном порядке, получим значение 00021AAC. Это значение нужно при помощи 16-ричного калькулятора сложить с адресом, по которому расположено начало найденной сигнатуры «BM». Затем, нажав F5, вызываем задание адреса перехода, вводим полученный в результате вычислений адрес, и, оказавшись в необходимом нам месте, заканчиваем пометку блока «звездочкой» и сохраняем выделенный блок при помощи F2 в файл BMP.

4. Для извлечения файлов типа GIF нужно, открыв исходный файл редактором HIEW, задать по F7 маску поиска «GIF8». После обнаружения, установки маркера на начало сигнатуры и начала выделения серой «звездочкой», задать поиск по сигнатуре конца файла 00 3B. Дальше как обычно: завершение пометки «звездочкой» и сохранение файла клавишей F2.

HIEW_611.zip

HIEW_611.zip

Link to comment
Share on other sites

  • 3 years later...

У меня есть способ на много удобней. Можно єто сделать через специальную прграмму Universal Document Converter.

просто устанавливаете программу, заходите в документ, нажимаете печать, в меню приложение выбираете Universal Document Converter, заходите в свойства и выбиратет в какой формат надо конвектировать, Нажимаем "печать" и вуалля картинка появилась. Если я что-то не понятно написал тут лучше написано http://www.print-driver.ru/howto/convert_word_to_jpeg.html

!

Предупреждение:

Не забываем смотреть на даты.

Edited by MaDW
Link to comment
Share on other sites

  • 1 month later...

Господа, все гораздо проще:

В WORDе я обычно длаю сброс параметров рисунка и затем сохраняю документ как Веб-страницу. Усе! В папке, которую я указал для сохранения, лежат меня дожидаются файлы в изначальном виде: JPEGи, TIFFы, BMPшки :doh:

!

Предупреждение:

Не забываем смотреть на даты. Тема закрыта.

Edited by MaDW
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...