Не знаю к какой ветке отнести этот вопрос,поэтому напишу здесь. Как вообще работают виртуальные принтеры - обрабатывают EMF файл и конвертят его или перехватывают GDI функции?
Примеры есть в DDK. Понимаю, что они там не самые показательные, но, боюсь огорчить, программирование подсистемы печати - весьма унылая вещь сама по себе. Из опенсорсного вроде был EmfPrinter.