o problema é a quantidade de dados que vc está mandando para a porta
que impressora vc está usando ?
conforme vc manda para a porta a impressora recebe os dados e armazena num buffer interno e ela vai imprimindo.
a cada loop executado vc manda um arquivo para a porta e como o loop
é muito rapido, vc acaba travando a porta.
experimente colocar um sleep antes de cada loop, que eu acho que depedendo da
quantidade de dados vai ficar inviavel ou tente usar o spool(buffer) do windows.