|
Компьютерный форум OSzone.net » Компьютеры + Интернет » Хочу все знать » Как вырезать картинки из word'овского документа |
|
Как вырезать картинки из word'овского документа
|
Новый участник Сообщения: 39 |
Как можно вырезать фотки из вордовского документа?
|
|
Отправлено: 15:12, 16-06-2004 |
![]() old Teapot Сообщения: 1767
|
Профиль | Отправить PM | Цитировать До кучи: Статья из Интернет-журнала IZONE.
Извлечение картинок из doc-файлов Афанасьев Владимир Верстальщик. Ведущий проекта http://www.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. По материалам сайта http://r3x.go.to/ Источник: http://www.marketer.ru/ |
------- Отправлено: 19:44, 16-06-2004 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Человек Сообщения: 3321
|
Профиль | Отправить PM | Цитировать Ужас... Кошмар... Чего вы бедного юзверя мучаете (вопрос риторический)?...
mdma Сохрани файл как HTML, а уже с полученными картинками можешь что угодно делать (они отдельно воляться скопом будут). Sox Blast Сам раньше подобным мучался, при копировании мелкие только 256 цветов оставляют, со всеми вытекающими... Раньше принт-скрином пользовался, пока добрые люди не подсказали. "Это элементарно, Ватсон..." (С) ![]() |
------- Отправлено: 21:41, 16-06-2004 | #12 |
Старый параноик Сообщения: 2423
|
Профиль | Отправить PM | Цитировать Greyman
Опередил меня ![]() APOSTOL Круто. А я когда-то из временных файлов Fine Reader'а вытаскивал текст... Вообще Не знаю как сейчас, но раньше рисунки в вордовых документах обладали одной неприятной особенностью: При хранении использовался сначала "родной" формат, то есть тот, в котором картинка была вставлена в файл. Но если пользователь случайно тыкал в неё мышкой, то ворд открывал "редактирование рисунка", после закрытия которого по "ОК" рисунок переводился в bmp (или dib, не ясно толком), причём качество картинки портилось безвозвратно. |
Отправлено: 09:17, 17-06-2004 | #13 |
Сообщения: 25151
|
Профиль | Сайт | Отправить PM | Цитировать Greyman
APOSTOL Спасибо за пояснения, я, честно говоря, не знал что от рисунка остается только 256 цветов... никогда не было необходимости из ворда картинки выдирать, а интерес появился только из желания помочь ;-) Мне что-то кажется что вариант Greyman`а наиболее приемлим из-за простоты. |
------- Отправлено: 09:57, 17-06-2004 | #14 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Как сделать обработку $_GET и сборку html-документа екзешником, как multitran.ru? | borg92 | Вебмастеру | 1 | 13-08-2009 10:23 | |
Как автоматически вырезать пустоты из аудиофайла? | ASOFED | Видео и аудио: обработка и кодирование | 1 | 04-04-2009 21:51 | |
[решено] Microsoft word, ограниченная защита документа | bool | Хочу все знать | 2 | 14-03-2007 16:30 | |
Как изменить дату создания/модификации документа Word | VAGO | Хочу все знать | 8 | 07-12-2006 17:18 | |
создание нового документа MS Word | Nodir Bek | Microsoft Windows 95/98/Me (архив) | 2 | 13-02-2004 10:45 |
|