Enhanced Metafile (.emf)

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

Enhanced Metafile (EMF) е 32-битов контейнер на Microsoft за векторна и растерна графика, предназначен за висококачествен печат и обмен чрез клипборда между приложения в Windows.

Конвертиране от EMF към SVG

Безплатен конвертор от EMF към SVG в браузъра. Конвертирайте файлове незабавно на вашето устройство.

Проверка и метаданни

Операционните системи и файловите анализатори идентифицират EMF файлове чрез проверка на началната двоична байтова последователност:

Изберете или пуснете файлове тук

Поверително - файловете никога не напускат устройството ви

или поставете Ctrl+V
Гаранция за поверителност с нулево мрежово предаване: 0 байта са качени на външни сървъри. Цялата обработка се извършва локално в пясъчниците на вашия браузър.

Байтов подпис на заглавката (сигнатурни байтове)

Операционните системи и файловите анализатори идентифицират EMF файлове чрез проверка на началната двоична байтова последователност:

HEX ПОДПИС (ОФСЕТ 0):

01 00 00 00 28 00 00 00

ASCII ПРЕДСТАВЯНЕ: ....(... (offset 40: ' EMF')

Стандартизация: [MS-EMF]: Enhanced Metafile Format Specification

Технически спецификации

Контейнерна архитектураПоследователност от 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Импортира се като прикачен файл/документ

Често срещани видове повреди и ръководство за възстановяване на шестнадесетични данни

В документа на мястото на EMF графиката се показва червено квадратче с X.

Първопричина: Липсващ или прекъснат запис EMR_EOF (End of File) кара възпроизвеждането в GDI да спре.

Възстановяване: Поправете границите на потока на метафайла или го конвертирайте в SVG с Metafile Converter на File2File.app.

Анализ на сигурността и вектори на атака към парсера

В миналото обработката на EMF в Windows GDI е представлявала път за атака чрез неправилни полета за дължина на запис в ненадеждни документи на Office.

Известни вектори на атака

  • Целочислено препълване в дължината на записа EMR_STRETCHBLT, което води до изпълнение на отдалечен код.
  • Четене извън границите на буфера при парсване на повредени цветови таблици за писци и четки на GDI.
  • Повреждане на heap паметта в записите с дескриптори на шрифтове при остарели процедури за визуализиране на GDI.

Най-добри практики за защита: Конвертирайте EMF файловете в SVG или PNG в изолирана среда за изпълнение на WebAssembly.

Исторически произход и етапи

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

Основни предимства

  • Печатът не зависи от резолюцията: векторните форми и контурите на шрифтовете се мащабират ясно при всякаква резолюция на принтера.
  • EMF е един от графичните формати, използвани за обмен чрез клипборда и в документи в някои приложения за Windows, включително Microsoft Office.
  • Поддържа вградени растерни изображения с висока резолюция, съчетани с редактируеми векторни пояснения и линейна графика.

Технически ограничения и минуси

  • Силно обвързан с графичната архитектура GDI на Microsoft Windows, което усложнява визуализирането на различни платформи.
  • Липсват съвременните CSS стилове, филтри и възможности за анимация, налични в SVG.
  • В миналото в остарелите механизми за визуализиране на EMF в по-стари операционни системи са откривани уязвимости в парсерите.

Интересни технически факти

  • Байт 40 на всеки валиден EMF файл съдържа ASCII сигнатурата „ EMF“ (0x20 0x45 0x4D 0x46).
  • Windows Print Spooler конвертира документите във файлове EMF, преди да изпрати суровите команди към драйверите на принтера.
  • EMF измерва размерите едновременно в две координатни системи: пиксели на устройството и стотни от милиметъра.

Често задавани технически въпроси

Каква е разликата между WMF и EMF?

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

Мога ли да конвертирам EMF файл в SVG?

Да. File2File.app конвертира векторните записи в EMF метафайлове директно в съвременни, изчистени SVG файлове за уеб и дизайн.

Защо Microsoft Office използва EMF?

Някои работни процеси с клипборда в Office използват EMF за запазване на векторните форми и текста, но поведението зависи от приложението, версията и съдържанието.