Para quem esta precisando imprimir em modo texto, fazer notas fiscais que avance a página quando estoura os itens, etiquetas para mala direta e outras impressoras na Epson (matricial). Estou disponibilizando uma dll para impressão em modo texto.
Fiz essa dll em VB6, a qual já usava em componente BAS, converti para DLL e estou utilizando no Windev sem problema, funciona direitinho.
http://www.easy-share.com/1905027911/impretexto.dllcomandos da DLL
padrao() //Coloca a impressora em modo default
draft() //ativa a letra draft para impressao estilo texto rápido
Italico() //ativa letra no formato italico
des_italico() //desativa italico
negrito() //ativa negrito
des_negrito() //desativa negrito
pequeno() //ativa tamanho de letra super comprimido
des_pequeno() //desativa o super comprimido
medio() //ativa letra comprimido (melhor opção para imprimir nota fiscal)
grande() //ativa letra grande
expandido() //ativa expandido
pol8() //8 linhas por polegada
pol6() //6 linhas por polegada
pol10() //10 caracteres por polegada
pol12() //12 caracteres por polegada
TituloTarefa(String) //titulo da tarefa no gerenciador de impressao do windows
NomeDevice(String) //seta a saida da impressão, caso não for chamada essa função, é enviada para a impressora padrão
EndPage() //encerra a pagina
EndDoc() //encerra o documento
KillDoc() //removo o documento do gerenciador de impressao e cancela a impressao atual
Imprime(Variant) //envia os dados para impressora
MaxLinhas(integer) //numero maximo de linhas por pagina
LargLinha(Integer) //numero maximo de colunas por pagina
Say(linha As Integer, coluna As Integer, impressao As Variant) //função para posição de impressao say(10,10,"teste")
MontaInfo() //monta o buffer de impressao para enviar para impressora
Exemplo de uso: apos registrar a dll no windows, coloque os comandos abaixos dentro de algum botão para testar
OBJimpre object Automation dynamic
OBJimpre = new object Automation "impretexto.imprimetexto"
OBJimpre >>TituloTarefa = "Impressao de Teste"
OBJimpre >>MaxLinhas = 30
OBJimpre >>LargLinha = 80
OBJimpre >>padrao()
OBJimpre >>draft()
OBJimpre >>pol8()
OBJimpre >>medio()
OBJimpre >>SAY(1,1,"linha 1, coluna 1")
OBJimpre >>SAY(2,3,"linha 2, coluna 2")
OBJimpre >>SAY(3,3,"linha 3, coluna 3")
OBJimpre >>Imprime(OBJimpre >>MontaInfo())
//esse exemplo irá imprimir tres linhas de exemplo