Comments 39
Как дополнение, было бы интересно узнать, можно ли всё-таки заставить Word сохранять эти изображения в другом формате без такого шаманства.
+1
Если не ошибаюсь, то при вставке через меню картинка вставляется именно в том формате, каком её подсунули. Кстати, достаю я обычно картинки из ворда сохраняя документ в виде html страницы.
0
Word хранит картинки ровно в том формате, в котором вы их туда засунули. Даже если пересохранять *.doc в *.docx. Подтверждено многолетним опытом и сегодняшними (для полной уверенности) экспериментами.
+2
А есть особенность поведения при вставке из буфера обмена? Попробовал, 2 раза png получалось. Всегда ли так?
0
Выделить файл изображения, Ctrl+C, перейти в документ, Ctrl+V. Формат сохраняется оригинальный. Word 2010.
0
Про файл-то понятно. Вопрос именно про графику из буфера обмена.
0
Покопался немного с буфером. Насколько я понял, графика в буфер отправляется в формате Windows Clipboard Image (*.clp). Соответственно информация о первоначальном формате теряется и программа-получатель вправе самостоятельно решать, в какой из общеупотребительных форматов эту графику конвертировать при вставке.
0
Это я понимаю. Вопрос другой был:
>А есть особенность поведения при вставке из буфера обмена? Попробовал, 2 раза png получалось. Всегда ли так?
Т.е. что именно Word решает? Всегда ли png будет?
>А есть особенность поведения при вставке из буфера обмена? Попробовал, 2 раза png получалось. Всегда ли так?
Т.е. что именно Word решает? Всегда ли png будет?
0
*.clp — не формат изображения, а формат-контейнер содержимого буфера обмена. Данные в нём хранятся в виде множества записей вида {тип данных, название типа данных, данные как набор байтов}. Никаких специальных возможностей для хранения именно графики на уровне формата не предусмотрено.
Формат, в котором графическое изображение (и вообще, любые данные) будет помещено в буфер всецело зависит от программы, которая туда эти данные помещает.
Данные об исходном формате файла-источника данных в общем случае теряются при копировании.
Есть энное количество стандартных форматов данных: текст в unicode и OEM (однобайтной) кодировках, растровое изображение (bitmap), векторное изображение (EMF) и несметное количество форматов, специфичных для конкретных программ.
Многие программы помещают данные в буфер сразу в нескольких форматах и вот из них-то, как правило, и идёт выбор при вставке.
Корректно написанная программа старается взять данные из буфера обмена в формате с максимально богатыми возможностями из числа поддерживаемых.
Здесь и кроется причина, по которой в файле из топика изображения хранились в EMF, а не в виде растровых изображений: Acrobat Reader при копировании помещает изображение в буфер обмена и в виде Bitmap и в виде EMF. А так как векторный формат богаче по возможностям, то его-то и выбирает при вставке MS Word.
P.S. В MS Word, насколько я помню, можно явно выбрать желаемый формат из числа доступных вставляя данные комбинацией клавиш Ctrl-Alt-V вместо Ctrl-V.
Формат, в котором графическое изображение (и вообще, любые данные) будет помещено в буфер всецело зависит от программы, которая туда эти данные помещает.
Данные об исходном формате файла-источника данных в общем случае теряются при копировании.
Есть энное количество стандартных форматов данных: текст в unicode и OEM (однобайтной) кодировках, растровое изображение (bitmap), векторное изображение (EMF) и несметное количество форматов, специфичных для конкретных программ.
Многие программы помещают данные в буфер сразу в нескольких форматах и вот из них-то, как правило, и идёт выбор при вставке.
Корректно написанная программа старается взять данные из буфера обмена в формате с максимально богатыми возможностями из числа поддерживаемых.
Здесь и кроется причина, по которой в файле из топика изображения хранились в EMF, а не в виде растровых изображений: Acrobat Reader при копировании помещает изображение в буфер обмена и в виде Bitmap и в виде EMF. А так как векторный формат богаче по возможностям, то его-то и выбирает при вставке MS Word.
P.S. В MS Word, насколько я помню, можно явно выбрать желаемый формат из числа доступных вставляя данные комбинацией клавиш Ctrl-Alt-V вместо Ctrl-V.
+4
Проверил, что выдаёт акробат с помощью EnumClipboardFormats():
CF_DIB (8)
CF_BITMAP (2)
CF_MAX (17) — не совсем понимаю, что это, но, похоже, граница системных форматов
CF_ENHMETAFILE (14)
CF_METAFILEPICT (3)
Некий формат с описание «ASEL» (50178), похоже, внутренний адобовский.
Система сама выполняет преобразование CF_DIB <-> CF_BITMAP и CF_ENHMETAFILE <-> CF_METAFILEPICT
Word предлагает три формата на выбор: Bitmat («Точечный рисунок»), DIB («Аппаратно-независимый рисунок») и EMF («Метафайл Windows»). DIB и Bitmap хранятся в PNG, а EMF — в EMF, разумеется. При одинаковом сжатом размере (т.е. docx-файла в данном случае) EMF внутри куда больше — и вставляется дольше.
CF_DIB (8)
CF_BITMAP (2)
CF_MAX (17) — не совсем понимаю, что это, но, похоже, граница системных форматов
CF_ENHMETAFILE (14)
CF_METAFILEPICT (3)
Некий формат с описание «ASEL» (50178), похоже, внутренний адобовский.
Система сама выполняет преобразование CF_DIB <-> CF_BITMAP и CF_ENHMETAFILE <-> CF_METAFILEPICT
Word предлагает три формата на выбор: Bitmat («Точечный рисунок»), DIB («Аппаратно-независимый рисунок») и EMF («Метафайл Windows»). DIB и Bitmap хранятся в PNG, а EMF — в EMF, разумеется. При одинаковом сжатом размере (т.е. docx-файла в данном случае) EMF внутри куда больше — и вставляется дольше.
0
Пока не появился формат docx, я вытаскивал картинки из doc через «Сохранить как...» в формате html (в этом случае все картинки в исходном формате сохранялись в отдельный подкаталог).
+4
Уменьшить ширину векторного изображения? Это как?
Может IrfanView снижает детализацию?
Может IrfanView снижает детализацию?
+1
а не проще файнаРидером???
-1
Файнридер по меньшей мере поставит везде f вместо ſ (это старинное альтернативное начертание s). Ну и все прочие прелести распознавания источника конца восемнадцатого века.
+1
Если мне не изменяет память, в Word есть функция подготовить документ для веб. В которой вы указываете до какого разрешения ужать графику. Пользовался ей давно, еще в 2003, так что в версиях с лентой, похоже придется поискать.
+2
Не поленился, нашел: Кликаем на изображение: Работа с рисунками → Формат → Сжать рисунки.
96 ppi это разрешение экрана — т.е. достаточное для отображения на экране.
96 ppi это разрешение экрана — т.е. достаточное для отображения на экране.
+1
Причем любое приложение из пакета МС Оффис старше 2007 поддерживает данную функцию — Image-> Compress-> 96dpi.
И да, оффис сжимает по умолчанию данные в своих контейнерхах(docx, xlsx, pptx, пр), но сохраняет изображение в том формате, в котором они были туда вставлены.
И да, оффис сжимает по умолчанию данные в своих контейнерхах(docx, xlsx, pptx, пр), но сохраняет изображение в том формате, в котором они были туда вставлены.
0
На учёбе был любопытный случай. Дали учебные пособия, которые видимо такие же студенты набирали. Внутри пособий множество принципиальных схем чёрным цветом на белом фоне. Одно из пособий весило около 24 мегабайт в doc. Поскольку я тогда ещё пользовался OpenOffice.org я просто попробовал пересохранить документ в odt. Каково же было моё удивление, когда документ похудел до 600 килобайт. Вроде бы там картинки были в BMP.
0
bmp на ура архивируется)
0
Собственно я хотел показать, что формат хранения документа может очень повлиять на его размер. В моём случае сохрание в odt означало упаковку всего документа в zip-архив. Нечто похожее произойдёт при сохранении в docx. НО! Незабываем, что можно ещё было сохранить изображение в более оптимальном формате (bmp явно самый неотптимальный вариант для чёрно-белого изображения о очень предсказуемой структурой, напоминаю, у меня там были в основном принципиальные схемы, которые состоялии из линий и окружностей), тогда бы и в doc документ получился заметно меньше.
0
Если это именно чёрно-белое (не градации серого), то скорее всего меньше bmp никто не сделает. Чёрно-белый bmp одним байтом 8 пикселей покрывает.
0
Я что-то глубоко сомневаюсь, что при всей чёрно-белости рисунка использовался бит на пиксель. Скорее какой-то «стандартный» формат от 8 до 24 бит на пиксель.
0
bmp в любом случае формат без сжатия. Он вам что белый лист 2000 на 2000 в 4 mb сделает. Что полноценную графику. Вы его c png путаете
0
Ну, вообще сохранение в OpenOffice или в docx — это неплохой способ достать оригиналы изображений из файла. По крайней мере в том качестве, как они туда были вставлены.
Оно же (по крайней мере OpenOffice) — неплохой способ разглядеть формулы в защищённом экселевском файле.
Оно же (по крайней мере OpenOffice) — неплохой способ разглядеть формулы в защищённом экселевском файле.
0
Проще сохранить в html, о чём я писал выше :) И сделать это можно даже в самом Word 2003.
0
Можете скинуть исходный файл? (:
+1
Sign up to leave a comment.
Картинки в doc-файле: снижение веса хирургическим путём