Enhanced Metafile (.emf)

[MS-EMF]: Tiêu chuẩn

Enhanced Metafile (EMF) là vùng chứa đồ họa vector và raster 32-bit của Microsoft được thiết kế để in ấn độ trung thực cao và trao đổi bảng nhớ tạm ứng dụng trên hệ điều hành Windows.

Chuyển đổi EMF sang SVG

Trình chuyển đổi từ EMF sang SVG miễn phí trên trình duyệt. Chuyển đổi tệp ngay lập tức trên thiết bị của bạn.

Kiểm tra & Siêu dữ liệu

Các hệ điều hành và trình phân tích tệp nhận dạng tệp EMF bằng cách kiểm tra chuỗi byte nhị phân đầu tệp:

Chọn hoặc thả tệp vào đây

Riêng tư - tệp không bao giờ rời khỏi thiết bị của bạn

Hoặc dán Ctrl+V
Cam kết bảo vệ quyền riêng tư, không truyền dữ liệu qua mạng: 0 byte được tải lên máy chủ bên ngoài. Toàn bộ quá trình xử lý diễn ra cục bộ trong hộp cát trình duyệt của bạn.

Chữ ký ở đầu tệp (mẫu byte nhận diện)

Các hệ điều hành và trình phân tích tệp nhận dạng tệp EMF bằng cách kiểm tra chuỗi byte nhị phân đầu tệp:

CHỮ KÝ HEX (OFFSET 0):

01 00 00 00 28 00 00 00

BIỂU DIỄN ASCII: ....(... (offset 40: ' EMF')

Tiêu chuẩn hóa: [MS-EMF]: Enhanced Metafile Format Specification

Thông số kỹ thuật

Kiến trúc ContainerChuỗi bản ghi vẽ GDI 32 bit, giới hạn bởi ENHMETA_HEADER và EMR_EOF
NénLệnh vẽ không nén; có thể nhúng bản ghi raster PNG/JPEG
Thứ tự byteLittle-endian (Intel x86)
Không gian màuRGB phụ thuộc thiết bị, Bản ghi màu sRGB
Kênh & Cấu trúcThao tác vẽ vector (đường dẫn, phông chữ, bút, cọ) và bitmap raster 24/32 bit
Kích thước tối đaGiới hạn thiết bị ảo được đo theo đơn vị tham chiếu 0,01 mm
Độ trong suốtThao tác trộn alpha raster (EMR_ALPHABLEND) và mặt nạ bút/cọ trong suốt
Truyền phát & Tăng dầnPhát tuần tự từng bản ghi trực tiếp vào ngữ cảnh thiết bị GDI

Ma trận so sánh kỹ thuật: EMF so với các đối thủ

Thuộc tính kỹ thuậtEMF (Hiện tại)WMFSVGPDF
Kiến trúc bitKhông gian tọa độ 32-bit (Windows NT+)Không gian tọa độ 16-bit (Windows 3.x)Tiêu chuẩn Web W3CTiêu chuẩn Tài liệu ISO 32000
Hỗ trợ đa nền tảngTập trung vào Windows; yêu cầu mô phỏng trên Mac/LinuxChỉ Windows cũChuẩn web được sử dụng rộng rãi; mức hỗ trợ tùy thuộc vào ứng dụng và nền tảngĐược hỗ trợ trên nhiều nền tảng; cách hiển thị tùy thuộc vào trình xem
Hiển thị web hiện đạiYêu cầu chuyển đổi sang SVG/PNGYêu cầu chuyển đổi sang SVG/PNGĐược nhiều trình duyệt hiện đại hỗ trợYêu cầu plugin trình xem PDF
Tích hợp OfficeHỗ trợ dán vector trong một số quy trình Word và PowerPointHỗ trợ Office cũĐược hỗ trợ trong Office 365 hiện đạiĐược nhập dưới dạng tệp đính kèm/tài liệu

Các dạng hỏng thường gặp và hướng dẫn khôi phục bằng mã hex

Tài liệu hiển thị hộp 'X' màu đỏ ở vị trí đồ họa EMF lẽ ra phải được kết xuất.

Nguyên nhân gốc rễ: Bản ghi EMR_EOF (Kết thúc tệp) bị thiếu hoặc bị cắt ngắn khiến việc phát lại GDI bị hủy bỏ.

Khắc phục: Sửa chữa ranh giới luồng siêu tệp hoặc chuyển đổi sang SVG bằng File2File.app Metafile Converter.

Phân tích bảo mật và các đường tấn công nhằm vào bộ phân tích cú pháp

Quá trình xử lý EMF trong Windows GDI trước đây là một vectơ tấn công thông qua các trường độ dài bản ghi bị lỗi trong các tài liệu Office không đáng tin cậy.

Các véc-tơ tấn công đã biết

  • Tràn số nguyên trong độ dài bản ghi EMR_STRETCHBLT dẫn đến việc thực thi mã từ xa.
  • Đọc vượt quá giới hạn bộ đệm khi phân tích các bảng màu bút và cọ vẽ GDI bị hỏng.
  • Hỏng bộ nhớ heap trong các bản ghi mô tả phông chữ trong các quy trình kết xuất GDI cũ.

Biện pháp phòng thủ tốt nhất: Chuyển mã các tệp EMF sang SVG hoặc PNG trong môi trường thực thi WebAssembly bị cách ly.

Nguồn gốc lịch sử và các cột mốc

2006EMF+ được giới thiệu cùng với GDI+ trong Windows Vista, bổ sung khả năng khử răng cưa và đường cong bezier.
1995Windows 95 tích hợp EMF làm định dạng bộ đệm in mặc định để cải thiện khả năng phản hồi của tác vụ in.
1992Được giới thiệu cùng với Windows NT 3.1, nâng cấp định dạng WMF 16-bit cũ lên tọa độ 32-bit đầy đủ.

Ưu điểm & Lợi ích chính

  • In ấn độc lập với độ phân giải: hình dạng vector và đường viền kiểu chữ được thu phóng rõ ràng theo bất kỳ DPI của máy in nào.
  • EMF là một định dạng đồ họa dùng để trao đổi qua clipboard và tài liệu trong một số ứng dụng Windows, gồm Microsoft Office.
  • Hỗ trợ hình ảnh raster độ phân giải cao được nhúng cùng với chú thích vectơ có thể chỉnh sửa và hình vẽ đường nét.

Hạn chế & Nhược điểm kỹ thuật

  • Gắn liền sâu sắc với kiến trúc đồ họa Windows GDI của Microsoft, làm cho việc kết xuất đa nền tảng trở nên phức tạp.
  • Thiếu kiểu dáng CSS hiện đại, bộ lọc và khả năng hoạt hình được tìm thấy trong SVG hiện đại.
  • Các công cụ kết xuất EMF cũ trong các hệ điều hành cũ trước đây đã gặp phải các lỗ hổng của trình phân tích cú pháp.

Thông tin kỹ thuật thú vị

  • Byte thứ 40 của mọi tệp EMF hợp lệ chứa các ký tự chữ ký ASCII ' EMF' (0x20 0x45 0x4D 0x46).
  • Windows Print Spooler chuyển đổi tài liệu thành các tệp EMF đằng sau hậu trường trước khi gửi các lệnh thô đến trình điều khiển máy in.
  • EMF đo các kích thước trong hai hệ thống tọa độ cùng một lúc: pixel thiết bị và phần trăm của một mm.

Các câu hỏi kỹ thuật thường gặp

Sự khác biệt giữa WMF và EMF là gì?

WMF là định dạng 16-bit lỗi thời từ Windows 3.1, trong khi EMF là phiên bản kế nhiệm 32-bit hiện đại với độ chính xác tọa độ vượt trội và các lệnh đồ họa được nâng cao.

Tôi có thể chuyển đổi tệp EMF sang SVG không?

Có. File2File.app có thể chuyển đổi trực tiếp các bản ghi vector tệp siêu dữ liệu EMF thành các tệp SVG sạch sẽ, hiện đại để sử dụng cho web và thiết kế.

Tại sao Microsoft Office lại sử dụng EMF?

Một số quy trình clipboard của Office dùng EMF để giữ hình dạng vector và văn bản, nhưng cách hoạt động tùy ứng dụng, phiên bản và nội dung.