Не существует современных принтеров, которые выполняют печать через COM-порт, даже большинство старых принтеров используют параллельные (Centronics) порты SPP или EPP. Единственные COM-принтеры, которые я помню, были "терминального" типа, с головками типа гирлянд, или печатными машинками IBM, 40 лет назад. Возможно, некоторые POS-термопринтеры все еще используют этот интерфейс.
Таким образом, если вы говорите, что он «печатает на COM-порт», это, вероятно, означает очень простой поток символов ASCII, строки / строки заканчиваются символами CR-LF. В то время как все основанные на USB растровые принтеры используют некоторый язык высокого уровня (PCL или PostScript) для управления принтером. Даже если вы отобразите свой выход на виртуальный порт COM / USB, результирующий поток данных будет ASCII-CR-LF, и ни один USB-принтер не сможет это понять.
То, что вы, вероятно, можете сделать, это каким-то образом виртуально подключить выход COM к приложению "терминала" Windows, а затем использовать сгенерированное растровое изображение в качестве изображения для печати (включая принтеры с интерфейсом USB). Это выглядит некрасиво, но печать через COM-порт - взрыв из глубокого прошлого.