Olá pessoal, sou eu de novo mas com outro problema agora. É que estou utilizando a Java Print Service para imprimir dados, para tanto ao montar minha string que contem os dados para impressão quando eu preciso pular de linha eu coloco \n (certo?), no entanto, quando eu mando imprimir a impressão não saiu como o esperado, pois apesar do \n pular de linha realmente o cursor continua no mesmo ponto onde estava, ele nao recua para a primeira posicao da nova linha, ou seja, se a minha stringa é:
“PRIMEIRA LINHA\nSEGUNDA LINHA\nTERCEIRA LINHA”
o que é impresso é o seguinte:
PRIMEIRA LINHA
SEGUNDA LINHA
TERCEIRA LINHA
E eu queria era o seguinte:
PRIMEIRA LINHA
SEGUNDA LINHA
TERCEIRA LINHA
Se alguem puder me ajuar eu ficaria muito grato.
Outra questão também é sobre como configurar o tamanho do papel de forma personalizada, pois eu utilizo o seguinte:
attSet.add(MediaSizeName.ISO_A4);
No entanto, eu quero colocar um papel do tamanho do rolo de impressora fiscal e não A4.
Eu nao estou usando o DrawString, na realidade o que eu faço é escrever dentro de um arquivo txt que eu vou montando ao longo da minha lógica de negócios e no final eu mando imprimir este arquivo, para tanto como eu já falei quando eu quero pular de linha eu coloco \n, daí eu vi que pulava de linha mas não retornava o cursor para a primeira posição da linha, então eu abri o arquivo txt no proprio bloco de notas e se lá eu mando imprimir então a impressão sai formatada como eu queria, na aplicação java é que está dando o erro, no entanto se neste txt quando editado no bloco de notas eu tiro o quadradinho (que no bloco de notas representa a quebra de linha - \n) e der um enter para realmente pular a linha para baixo, então a aplicação java imprime corretamente.
Já não sei o que fazer, alguem sabe de algum outro tipo de quebra de linha que eu possa colocar ao invés do \n?
Já com relação aos atributos do tamanho do papel, será que alguem sabe qual eu coloco para imprimir em uma impressora fiscal?
Abra seu arquivo txt modificado com um programa do tipo hexdump32. Vc vai ver que há no fim da linha 2 caracteres hexadecimais 0d0a que representam retorno de carro (return = /r do Java) e mudança de linha (line feed).
Abra seu arquivo antes da modificação e verá que provavelmente está faltando o 0d (/r do Java) (não sei porque). Experimente colocar explicitamente o /r e veja o que ocorre.
Para imprimir com Java Print Service precisa usar drawString. Realmente viu os exemplos do pdf que lhe indiquei? De lá você pode ver quais atributos servirão para sua impressora fiscal com formulario contínuo.
Porém, o modo como está imprimindo não parece precisar das classes do Java Print Service já que apenas está copiando o arquivo para a impressora.