Я это делал через написание программки, которая использовала движок IE и дополняла DOM своим объектом, который и отвечал за печать. Печает, как через стандартный драйвер, так и через COM порт. Просто термопринтер обычно через драйвер печатает очень медленно. Поскольку печать идет в виде растра, а не с использованием внутренних шрифтов.