Impressora Matricial imprimi desalinhado quando imprimi condensado

to Mandando imprimir na matricial… mas quando mando imprimir em modo condensado
imprimi nas colunas desalinhas

era pra imprimir assim

|  Quantde  |                     Descricao                     |    Locacao    | Codigo  |  Valor Un. |    total  |    
------------------------------------------------------------------------------------------------------------------      
|   1,00 PC |AMORT NOVO FIAT PALIO DIANT: 22297G CORVEN  - CART | AMO-040       |   17568 |      86,04 |     86,04 |    
|   1,00 PC |VIDRO INCOLOR VT001 GABRIELA LD.                   |               |   17174 |     201,66 |    201,66 |    
|   1,00 PC |VIDRO PORTA INCOLOR FORD CORCEL II C/FURO DIREITO. | A09/0.2       |      34 |      45,00 |     45,00 |    
|   1,00 PC |VIDRO PORTA INCOLOR FORD CORCEL II C/FURO ESQUERDO | A11/2.2       |      35 |      45,00 |     45,00 |    
|   1,00 PC |AMORT NOVO VW GOL 95/ TRAS: AC 30726 NAKATA        | AMB-023       |   14239 |      69,12 |     69,12 |    
|   1,00 PC |AMORT DIRECAO VW GOL: COFAP 22010/22022       NOVO | AMO-072       |   13062 |      49,10 |     49,10 |    
|   1,00 PC |VIDRO PORTA INCOLOR FIAT UNO 2P DIREITO.           | A03/4.2       |      22 |      45,00 |     45,00 |    
|   2,00 PC |AMORT NOVO FIAT PALIO DIANT: 32197 TURBOGAS - CART | AMO-009       |   15407 |     113,04 |    226,08 |    
|   1,00 PC |AMORT NOVO FIAT 147 DIANT: 27297 COFAP - CART      | AMO-076       |    1845 |      98,10 |     98,10 |    
|   1,00 PC |AMORT NOVO VW GOL/PAR/SAV DIANT: CORVEN 22208.     | AMO-039       |   11620 |      55,17 |     55,17 |    
|   1,00 PC |AMORT NOVO FIAT PALIO TRAS: 42298G CORVEN.         | AMO-054       |   17569 |      70,02 |     70,02 |    
|   2,00 PC |CHAVE DE RODA CRUZ: CRC 04                         |               |   15956 |      19,05 |     38,10 |    
|   2,00 PC |SUSP VW - BUCHA BAND GOLF (DIANT.DA SUSP DIANT)    | F001          |    9529 |       6,00 |     12,01 |    
|   1,00 PC |VIDRO PORTA VERDE GM MONZA 2P DIREITO.             | C13.1         |      57 |      45,04 |     45,04 | 

mas nas colunas imprimi na mesma coluna, mas hora pro lado esquerdo e na outra linha lado direito
ficando quase assim

|
  |
|
  |
| 
  |

alguem ja fez algo parecido??.. ql a fonte usada??

meu codigo ta assim oh

[code]

final String RESET = “\u001B” + “@”; // @jve:decl-index=0:
final String TAMANHO_DA_PAGINA = “\u001B” + “C” + (char)33;
final String TABELA_CARACTERES = “\u001B” + “t” + (char)0;
final String TABELA_CARACTERES_2 = “\u001B” + “(t” + (char)3 + (char)0 + (char)0 + (char)25 + (char)0; // @jve:decl-index=0:
final String FORM_FEED = “\f”; // @jve:decl-index=0:
final String NOVA_LINHA = “\n”;
final String EDUARDO = “\u001B” + (char)18; // @jve:decl-index=0:
final String FONTE_DRAFT = “\u001B” + “x” + (char)0; // @jve:decl-index=0:
final String ALIMENTA_PAGINA = “\u000C”;
final String TAMANHO_10 = “\u001B” + “P”; // @jve:decl-index=0:
final String TAMANHO_12 = “\u001B” + “M”; // @jve:decl-index=0:
final String TAMANHO_15 = “\u001B” + “g”; // @jve:decl-index=0:
final String TAMANHO_56 = “\u001B” + “!” + (char)56;
final String ALINHA_DIREITA = “\u001B” + “a” + (char)0;
final String ALINHA_ESQUERDA = “\u001B” + “a” + (char)1;
final String ALINHA_CENTRO = “\u001B” + “a” + (char)2;
final String ALINHA_TOTAL = “\u001B” + “a” + (char)3;
final char vazio = ’ ';
final String RETORNO = “\u001B” + (char)13; // @jve:decl-index=0:
final char ABRE_CONDENSADO = (char) 15; // condensado
final char FECHA_CONDENSADO = (char) 18; // sai do condensado
final char EDU = (char)15 + (char)15;
final String EDU2 = “\u001B” + (char)18 + (char)18;

                                            FileOutputStream outputFile;
		outputFile = new FileOutputStream(imp.getCaminho_impressora());
		PrintWriter out = new PrintWriter(outputFile);
		out.print(RESET);
		out.print(TAMANHO_DA_PAGINA);
		out.print(TABELA_CARACTERES);
		out.print(TABELA_CARACTERES_2);
		out.print(EDU);
		out.print(txtarea2.getText());
		out.print(ALIMENTA_PAGINA);
		out.close();[/code]

alguem da uma mão ai

na seria mais facil utilizar um ireport da vida para emitir seus relatorios ?

[]s

Quando se imprime carcteres no modo normal, a cabeca de impressao vai imprimindo metade da linha e volta imprimindo a outra metade, ou seja, sao 2 passadas por linha.

Quando se imprime em condensado ou draft, a impressora vai imprimindo a linha, e volta ja imprimindo outra linha, ou seja, desista de alinhar.

Para saber se eh erro no seu codigo ou se eh essa questao que eu disse, mande imprimir em modo normal, se ficar alinhado nem em assembly vc vai conseguir alinhar no condensado!

(em assembly talvez vc consiga, hehehehe)

[]s

Kemper

[quote=bobsiqueira]na seria mais facil utilizar um ireport da vida para emitir seus relatorios ?

[]s

[/quote]

Creio que o que o amigo quer eh utilizar a impressora em modo ASCII, mandando os dados direto para a porta da impressora, fazendo ela imprimir no modo nativo para a qual ela foi projetada (somente texto) utilizando assim de todos os beneficios que a impressora matricial pode fornecer (economia e rapidez).

Se ele imprimir pelo iReport, vai ser utilizado o modo grafico da impressora, que mesmo que contenha apenas texto, vai fazer demorar uns 4 minutos por pagina.

bom como o kemperacc disse… em iReport não funcionaria pela demora!
e o cabeçalho da minha impressão eu imprimo direta na impressora, a letra não é condensada e sai torto tbm

é que estou migrando um sistema que era em clipper para java
e o relatório que foi feito em clipper imprimi certinho, dando somente uma passada com o carro da impressora na linha

mas o clipper… andei dando uma fuçada no fonte dele
ele manipula em qual linha está a impressão…
e no meu caso… eu tenho que dar um \n… para pular de linha

mas alguem da opinião ai?

Entao vc ta dizendo que por exemplo, linha PAR imprime de um jeito e linha IMPAR de outro jeito?

cria uma var linha…

int linha=0;

if (linha % 2 == 0){
//linha par
}else{
//linha impar
}

linha++;

Eu ja programei em clipper, e lembro que em modo normal tudo saia certo, e condensado dava o problema da ida e volta que eu citei.

[]s

Kemper

não… o programa em clipper aqui… eu disse que ele tem controle sobre as linhas

exemplo
nº da linha… e o codigo
nº da linha e o codigo e por ai vai

agora o meu… eu manipulo e mando pra um txt…
dai eu pego e leio o meu txt num jtextarea…
dai eu abro a porta e mando imprimir na matricial

mas intão eu tbm não sei o que acontece…
pq a impressão do clipper tem duas letras

o cabeçalho a letra é maior… e depois a letra fica menor… pq pelo tanto de caractere que tem… não cabe na forlha

mesmo que se não for condensado… a letra é menor… e eu tbm deixando a letra menor… fica desalinhado