Что такое формат файла EMF?
.emf - это формат векторной графики, используемый операционной системой Windows, разработанный Microsoft в 1993 году. Технически файл .emf хранит записанную последовательность команд рисования Windows GDI, а не сетку пикселей, поэтому векторное содержимое масштабируется без потери качества. Файлы .emf также могут содержать встроенные растровые изображения и текстовые данные наряду с векторными элементами.
Windows использует файлы .emf в качестве буферов очереди печати: временный файл .emf создается при отправке задания на печать и автоматически удаляется после завершения печати.
Формат .emf является аппаратно-независимым и сохраняет DPI сохраненного изображения. Таким образом, файл отображается одинаково на любом устройстве вывода, будь то принтер, плоттер или экран.
.emf является преемником формата .WMF. Более новый формат поддерживает 32-битные данные, в то время как .wmf поддерживал только 16-битные. .emf также предлагает более широкое цветовое пространство (RGB и CMYK), поддержку графики высокого разрешения и более компактные размеры файлов, чем эквивалентные растровые изображения. Сжатый с помощью GZIP вариант, .EMZ, упаковывает то же содержимое в меньший архив и обычно используется при встраивании метафайлов в документы Microsoft Office или LibreOffice. Для современного использования в вебе широко распространенной открытой альтернативой с сопоставимой масштабируемостью является .SVG.
Файл .emf идентифицируется по магической строке ASCII EMF (байты 20 45 4D 46) со смещением 40 внутри заголовка файла. Структура формата публично задокументирована Microsoft как спецификация MS-EMF.
Безопасность и защита
РИСК: LOWФайлы EMF содержат команды рисования, а не исполняемый код или макросы, поэтому обычный EMF безопасен для просмотра. Реальный риск заключается в уязвимостях парсера: история рендеринга метафайлов Windows включает CVE (уязвимость WMF 2005-2006 годов и периодические ошибки парсинга GDI/EMF с тех пор), поэтому устанавливайте обновления Windows и Office и с осторожностью относитесь к незапрошенным вложениям метафайлов от неизвестных отправителей. Файл image001.emf в обычном деловом документе или письме почти всегда является безобидным артефактом Office (часто это логотип в подписи или вставленная диаграмма).
Детали формата
в двух словахПрограммы, открывающие файлы EMF
Технические подробности
глубокая спецификация| Магическая сигнатура | Строка ASCII ` EMF` (байты `20 45 4D 46`) со смещением 40 в записи EMR_HEADER; DWORD `0x00000001` со смещением 0 (тип записи) |
| MIME-тип | `image/emf` (также встречается `image/x-emf`) |
| Разрядность данных | 32-битные целочисленные поля (предшественник WMF использовал 16-битные) |
| Цветовые пространства | Поддерживаются как RGB, так и CMYK |
| Единицы координат | Аппаратно-независимые логические единицы; режим сопоставления по умолчанию использует точность 0,01 мм на единицу |
| Структура файла | Последовательные записи переменной длины; каждая запись начинается с 4-байтового DWORD типа и 4-байтового DWORD размера |
| Встраивание растра | Записи EMR_STRETCHDIBITS и связанные с ними встраивают аппаратно-независимые растры (DIB) в векторный поток |
| Содержимое заголовка | Запись EMR_HEADER хранит ограничивающую рамку (в логических единицах и пикселях), разрешение эталонного устройства, строку описания и необязательный дескриптор формата пикселей |
| Сжатый вариант | `.emz` - сжатый GZIP файл `.emf`; идентифицируется по магическим байтам `1F 8B` со смещением 0 |
| Роль в очереди печати | Подсистема печати Windows использует `.emf` в качестве формата Enhanced Metafile Spool; файлы очереди являются временными и удаляются по завершении задания |
| Типы записей GDI | Более 100 определенных типов записей, охватывающих контуры, кривые, текст, преобразования, области отсечения, палитру и растровые операции |
| Порядок байтов | Little-endian (от младшего к старшему); все многобайтовые целые числа хранятся младшим байтом вперед |
| Диапазон координат | Ограничивающий прямоугольник хранится в виде 32-битных целых чисел со знаком; логический холст охватывает до ~2,1 миллиарда единиц по каждой оси |
| Контейнер Office | Нативно встраивается в пакеты `.docx`, `.pptx`, `.xlsx` (OOXML) и ODF как предпочтительный формат векторного клипарта |
| Выпущен | 1993 (Windows NT 3.1); format documented publicly as MS-EMF |
| Открыть стандартное | Да · без роялти |
| Спецификация | learn.microsoft.com |
Конвертации EMF
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах EMF.