EmfEngine - Enhanced MetaFile support for Qt

Subscribe to EmfEngine news News: EmfEngine 3.1 for Windows released >>

The Enhanced MetaFile format (EMF) is the native vector graphics file format on Windows. Qt is a cross-platform application development framework, widely used for the development of GUI programs. Although it provides tools for almost every aspect of software development, Qt doesn't include a straightforward solution for the export of 2D graphics to the EMF/WMF image formats. EmfEngine covers this lack and enables Qt based applications to easily export graphics to the Enhanced Metafile format or to the Windows Metafile (WMF) format. EmfEngine is used by companies all over the world >>


example screenshot

Using EmfEngine is straightforward, as you may see from the code example bellow:
 void MyClass::exportEMF(const QString& fileName)
	EmfPaintDevice emf(QSize(500, 400), fileName);
	QPainter paint.begin(&emf);
	// ... perform your painting operations here ...


  • Windows is the primary target distribution platform. On Windows systems EmfEngine uses the GDI+ API as backend.
  • Testing is done with Microsoft Visual Studio and MinGW compilers.
  • A GDI-based version of EmfEngine is also available for Linux and macOS. It has some limitations compared to the Windows version, due to the GDI backend, the most noticeable being the lack of support for anti-aliasing.
  • Testing is done with gcc on Linux and with the clang compiler on macOS.
Both Qt 5 and Qt 6 are supported on all platforms.


EmfEngine is available under a commercial license. Please take a look at the Licensing section for more details.


Ion Vasilief