Розширений метафайл (.emf)

[MS-EMF]: Стандарт

Розширений метафайл (EMF): це 32-бітний контейнер векторної та растрової графіки від Microsoft для якісного друку та обміну через буфер обміну між застосунками в операційній системі Windows.

Конвертувати з EMF у SVG

Безкоштовний конвертер з EMF у SVG у браузері. Миттєво конвертуйте файли на своєму пристрої.

Аналіз та метадані

Операційні системи та аналізатори файлів ідентифікують файли EMF, перевіряючи початкову послідовність бінарних байтів:

Виберіть або перетягніть файли сюди

Приватно - файли ніколи не залишають ваш пристрій

або вставте Ctrl+V
Гарантія конфіденційності без передавання даних мережею: Жодного байта не передано на зовнішні сервери. Уся обробка відбувалася локально в ізольованому середовищі браузера.

Сигнатура заголовка на байтовому рівні (Magic Bytes)

Операційні системи та аналізатори файлів ідентифікують файли EMF, перевіряючи початкову послідовність бінарних байтів:

ШІСТНАДЦЯТКОВА СИГНАТУРА (ЗСУВ 0):

01 00 00 00 28 00 00 00

ПОДАННЯ В ASCII: ....(... (зсув 40: ' EMF')

Стандартизація: [MS-EMF]: Специфікація формату розширеного метафайлу

Технічні характеристики

Архітектура контейнераПослідовність 32-бітних структур записів малювання GDI, обмежених ENHMETA_HEADER та EMR_EOF
СтисненняНестиснені команди малювання; необов'язкові вбудовані растрові записи PNG/JPEG
Порядок байтів (Endianness)Порядок байтів від молодшого до старшого (Little-Endian; Intel x86)
Колірні просториRGB залежний від пристрою, Колірні записи sRGB
Канали та структураОперації векторного малювання (контури, шрифти, пера, кисті) та 24/32-бітні растрові зображення
Максимальні розміриМежі віртуального пристрою, виміряні в еталонних одиницях 0,01 міліметра
ПрозорістьОперації растрового змішування альфа-каналів (EMR_ALPHABLEND) та прозорі маски пер/кистей
Потокове та прогресивне завантаженняПослідовне відтворення запис за записом безпосередньо в контексти пристроїв GDI

Технічна матриця порівняння: EMF проти конкурентів

Технічний атрибутEMF (Поточний)WMFSVGPDF
Бітова архітектура32-бітний координатний простір (Windows NT+)16-бітний координатний простір (Windows 3.x)Веб-стандарт W3CСтандарт документа ISO 32000
Кросплатформна підтримкаОрієнтований на Windows; вимагає емуляції на Mac/LinuxЛише у застарілих версіях WindowsШироко вживаний вебстандарт; підтримка залежить від програми й платформиПідтримується на багатьох платформах; вигляд залежить від переглядача
Сучасний веб-дисплейПотребує конвертації в SVG/PNGПотребує конвертації в SVG/PNGПідтримується багатьма сучасними браузерамиПотрібен плагін перегляду PDF
Інтеграція з OfficeВставлення векторів підтримується в деяких процесах Word і PowerPointЗастаріла підтримка OfficeПідтримується в сучасному Office 365Імпортується як вкладення/документ

Типові режими пошкодження та посібник з відновлення в шістнадцятковому форматі

Документ відображає червоне поле з «X» там, де має відображатися графіка EMF.

Першопричина: Відсутній або усічений запис EMR_EOF (кінець файлу) призводить до переривання відтворення GDI.

Відновлення: Відновіть межі потоку метафайлу або конвертуйте в SVG за допомогою конвертера метафайлів File2File.app.

Аналіз безпеки та векторів атак на парсери

Обробка EMF у Windows GDI історично була вектором атаки через поля довжини неправильно сформованих записів у неперевірених документах Office.

Відомі вектори атак

  • Переповнення цілих чисел у довжині запису EMR_STRETCHBLT, що призводить до віддаленого виконання коду.
  • Надмірне читання буфера під час аналізу пошкоджених колірних таблиць пер та кистей GDI.
  • Пошкодження купи в записах дескрипторів шрифтів у застарілих процедурах рендерингу GDI.

Рекомендації щодо захисту: Перетворюйте файли EMF на SVG або PNG в ізольованому середовищі виконання WebAssembly.

Історичне походження та віхи

2006EMF+ представлено з GDI+ в Windows Vista, що додає згладжування та криві Безьє.
1995Windows 95 інтегрує EMF як стандартний формат черги друку, що дає змогу швидше обробляти завдання друку.
1992EMF представлено у Windows NT 3.1 як оновлення застарілого 16-бітного формату WMF до повноцінних 32-бітних координат.

Основні переваги

  • Незалежний від роздільної здатності друк: векторні фігури та контури шрифтів чітко масштабуються до будь-якої роздільної здатності принтера.
  • EMF: один із графічних форматів для обміну через буфер обміну й документами в деяких програмах Windows, зокрема Microsoft Office.
  • Підтримує вбудовані растрові зображення високої роздільної здатності в поєднанні з редагованими векторними виносками та штриховими малюнками.

Технічні обмеження та недоліки

  • Тісно пов'язаний з архітектурою графіки Microsoft Windows GDI, що ускладнює крос-платформний рендеринг.
  • Бракує сучасних стилів CSS, фільтрів та можливостей анімації, наявних у сучасному SVG.
  • У старих операційних системах застарілі рушії відтворення EMF часто мали вразливості під час розбору файлів.

Цікаві технічні факти

  • Байт 40 кожного дійсного файлу EMF містить сигнатурні символи ASCII ' EMF' (0x20 0x45 0x4D 0x46).
  • Диспетчер друку Windows конвертує документи у файли EMF за лаштунками перед надсиланням сирих команд драйверам принтера.
  • EMF вимірює розміри одночасно у двох системах координат: у пікселях пристрою та сотих частках міліметра.

Поширені технічні запитання

У чому різниця між WMF та EMF?

WMF: це застарілий 16-бітний формат з Windows 3.1, тоді як EMF: його сучасний 32-бітний наступник із чудовою координатною точністю та розширеними графічними командами.

Чи можу я конвертувати файл EMF у SVG?

Так. File2File.app може безпосередньо перетворювати векторні записи метафайлу EMF на сучасні коректні файли SVG для вебу та графічного дизайну.

Чому Microsoft Office використовує EMF?

У деяких процесах буфера обміну Office використовують EMF для збереження векторних фігур і тексту, але поведінка може залежати від програми, версії та вмісту.