Решил проблему, правда еще кое какие непонятки остались.
Оказывается, в Виндовс есть такая фича как печать в файл.
В Control Panel создаётся новый принтер, тип - локальный, порт - новый. В поле "название порта" вбивается путь к файлу, например C:\temp\virt.txt
После чего уже работаем с ним как с обычным принтером, например, отправляем на печать из Windows API. Сырые данные, отправленные на печать, помещаются туда.
С PDF принтером пробовал - ругается. Так и не получилось толком.
В общем, эта проблема тоже решена.. практически.