Mark Stephens Mark has been working with Java and PDF since 1999 and is a big NetBeans fan. He enjoys speaking at conferences. He has an MA in Medieval History and a passion for reading.

What are the WMF and EMF Image File formats?

57 sec read

What is an EMF file?

EMF is a large metadata Windows file format designed to store high resolution images for high-quality image printing. It is often used for graphic designs as it has the ability to maintain quality.

What is a WMF file?

WMF is a 16-bit image file format. They have graphic drawing commands and property definitions which allow digital images to be displayed and reproduced identically.

What is the difference between EMF and WMF?

Enhanced MetaFile (EMF) and  Windows Metafile (WMF) are 2 linked image formats developed by Microsoft since the 1990s. Enhanced MetaFile is essentially an updated version of WMF which makes it 32 bit and addresses some other issues. Unlike most other image formats, it is a Vector file format.

While it can contain bitmap data, it mainly consists of shapes, lines and other Vector shapes. So it can be scaled or output to different devices such as printers which can draw the contents in much higher definition. In many ways, it is similar to PostScript, which was the predecessor to the PDF File Format.

EMF/WMF formats have been developed and extensively supported by Microsoft, and it is the native Vector File format for Microsoft Office applications so many Companies have lots of WMF/EMF files. However, it was not extensively adopted by other platforms and most Browsers.

EMF/WMF file formats are similar to SVG, which is widely supported by browsers because it is a part of HTML5.

How to read EMF and WMF images in Java?

There are additional blog posts on How to Read EMF files and How to Read WMF files in Java.



Why do developers choose JDeli over free alternatives?

  1. Works with newer image formats such as AVIF, HEIC, JPEG XL, WEBP (AVIF next release) that are not supported in Java.
  2. Better support than alternatives for JPEG, PNG, TIFF.
  3. Process images up to 3x faster than ImageIO and other Java image libraries.
  4. Prevent JVM crashes caused by native code in other image libraries such as ImageIO.
  5. Image security as JDeli processes images on your servers with no calls to any external system or third party library.

Are you a Java Developer working with Image files?

Mark Stephens Mark has been working with Java and PDF since 1999 and is a big NetBeans fan. He enjoys speaking at conferences. He has an MA in Medieval History and a passion for reading.