Eu utilizo a classe abaixo para listar as impressoras que tenho no computador, escolher uma delas (no caso a Generic Text Only porque é uma impressora fiscal Bematech) e imprimir o que eu quiser.
packagebr.com.ipuc.Impressao;importjavax.print.*;importjava.io.ByteArrayInputStream;importjava.io.InputStream;// Essa classe é a responsavel pela impressao. Ela detecta a impressora// instalada, recebe o texto e o imprime.publicclassImpressao{// variavel estatica porque será utilizada por inumeras threadsprivatestaticPrintServiceimpressora;publicImpressao(){detectaImpressoras();}// O metodo verifica se existe impressora conectada e a// define como padrao.publicvoiddetectaImpressoras(){try{DocFlavordf=DocFlavor.SERVICE_FORMATTED.PRINTABLE;PrintService[]ps=PrintServiceLookup.lookupPrintServices(df,null);for(PrintServicep:ps){System.out.println("Impressora encontrada: "+p.getName());if(p.getName().contains("Text")||p.getName().contains("Generic")){System.out.println("Impressora Selecionada: "+p.getName());impressora=p;break;}}}catch(Exceptione){e.printStackTrace();}}publicsynchronizedbooleanimprime(Stringtexto){// se nao existir impressora, entao avisa usuario// senao imprime textoif(impressora==null){Stringmsg="Nennhuma impressora foi encontrada. Instale uma impressora padrão \r\n(Generic Text Only) e reinicie o programa.";System.out.println(msg);}else{try{DocPrintJobdpj=impressora.createPrintJob();InputStreamstream=newByteArrayInputStream(texto.getBytes());DocFlavorflavor=DocFlavor.INPUT_STREAM.AUTOSENSE;Docdoc=newSimpleDoc(stream,flavor,null);dpj.print(doc,null);returntrue;}catch(PrintExceptione){e.printStackTrace();}}returnfalse;}}
Qualquer coisa meu MSN é [email removido]
T
tiagops
Pessoal, voces ja conseguiram imprimir documentos em impressoras matriciais? O que usaram?
Vou precisar imprimir notas fiscais apartir de uma aplicacao java web.
Minha duvida é se tem como dar comando de quebra de pagina, etc…
Valeu!
R
rafaelsouzaf
tiagops:
Pessoal, voces ja conseguiram imprimir documentos em impressoras matriciais? O que usaram?
Vou precisar imprimir notas fiscais apartir de uma aplicacao java web.
Minha duvida é se tem como dar comando de quebra de pagina, etc…
Valeu!
Eu só testei com impressora fiscal. Acho que o manual de intruçao da impressora deve dizer o caracter de quebra de linha. No meu caso a impressora fiscal aceita o \r\n como quebra.
M
motta_tb
eu uso “\u000B” pra quebrar a linha.
mas to com um problema q é o seguinte:
tenho um sistema web pra emitir nota fiscal em matricial
só consigo imprimir na impressora q o sistema ta rodando…
ou seja, no servidor
quero acessar de algum micro da rede ou pela net e imprimir na impressora padrao q tem no micro.
alguem tem alguma ideia?
S
stefan
Ola, eu fiz um applet que le um arquivo XML aonde eu recebo todos os parametros de LinhaxColuna, fontes, negrito, italico e tudo mais…
Ele imprime em qualquer impressora que a maquina do usuario tenha acesso.
Ela trabalha em sextos e oitavos, bom, todo o suporte da matricial. Nao tive problemas de quebras de linhas, pq mando o texto na linha X e na coluna Y direto.
Abraços
H
Hamses
Ola Pessoal.
Esse tema de imprimir em impressora matricial em java é complicado de achar na net eu já estou alguns meses procurando e não acho algo concreto.
Bom no meu caso eu consegui imprimir pelo iReport mas a qualidade não sai muito boa pois eu acho que ele imprime em modo grafico.
Alguem tem uma ideia que possa me ajudar a imprimir em matricial ou algum tutorial que explique,pois só falta isso para eu terminar um projeto.
Quem puder me ajudar muito Obrigado.
Valeu.
M
magnus
Como extender para poder especificar a linha e a coluna q se deseja imprimir?
E
Emerson_Bolsoni
Aê galera, to usando esse codigo postado pelo “rafaelsouzaf” porém tem um problema que ta acontecendo com minha impressora, ela esta mandando a impressão como manual e não pra bandeja automatica…
Ja configurei nas propriedades da impressora para que seja sempre enviado a bandeja e não está acontecendo isso…
Vocês sabem como faço pra setar isso no código???
L
Lich_King
vou tentar dar um chute aqui…me digam se está certo… :?
:arrow: eu crio um arquivo texto com modelo da nota para cada tipo d NF…
ele seria algo assim?
:arrow: a classe controladora de NF vai usar algum método de uma classe especifica para a matricial q está sendo usada (Epson, Citizen,…) e vai ler esse arquivo texto fazendo as substituições necessárias e jogar isso num String buffer…
:arrow: Depois a controladoraNF vai pegar cada linha desse StringBuffer mandar pra porta da matricial (q vai ser uma porta paralela, certo?)…
:arrow: Se imprimir no lugar errado da nota devo acertar meu modelo de NF até acertar isso…
seria mais ou menos isso?? :? :? :?: :?: há algo mais com q devo me preocupar??
V
vitormm
stefan:
Nao tive problemas de quebras de linhas, pq mando o texto na linha X e na coluna Y direto.
Estou querendo fazer isso na aplicação web que trabalho, para imprimir notas fiscais.
Como você faz isso?
abraços
V
vitormm
Eu comecei utilizando a Printig API.
Consegui imprimir linhas no ponto que eu quero, mas só consigo imprimir a partir do ponto imageableX / Y, não consigo imprimir da posição 00. Já setei a imageableArea, mas não funcionou.
Alguem sabe como resolver??
abraços
V
vitormm
Talvez eu não tenha explicado direito, consigo imprimir onde eu quero na página.
Só qeu não consigo fazer a área útil de impressão começar do início da página.
Alguem sabe como posso fazer para começar a imprimir desde o início da página, retirando as margens?
Se alguem souber eu agradeço.
Abraços
V
vitormm
Resolvi meu problema. Para colocar a margem lá em cima, na borda da página eu utilizei graphics.setClip(…) e depois paper.setImageableArea(…), e pronto.
abraços
D
douglasrusso
Utilizo para quebra de linha: \r\n
A
arkaatz
vitormm:
Resolvi meu problema. Para colocar a margem lá em cima, na borda da página eu utilizei graphics.setClip(…) e depois paper.setImageableArea(…), e pronto.
abraços
Vitor, vc poderia postar as linhas do seu graphics.setClip, paper.setImageableArea para facilitar o entendimento ?
Obrigado,
B
bezerra.renato
Olá a todos.
Estou interessado nesse recurso, mas não sei utiliza-lo.
Alguém teria um exemplo sobre este recurso?
Desde já agradeço.
N
nilsoncastro
Estou precisando saber como se faz para imprimir os dados de um formulário (que já está impresso) na posição certa de cada elemento
Alguem pode me ajudar?
N
nilsoncastro
stefan:
Ola, eu fiz um applet que le um arquivo XML aonde eu recebo todos os parametros de LinhaxColuna, fontes, negrito, italico e tudo mais…
Ele imprime em qualquer impressora que a maquina do usuario tenha acesso.
Ela trabalha em sextos e oitavos, bom, todo o suporte da matricial. Nao tive problemas de quebras de linhas, pq mando o texto na linha X e na coluna Y direto.
Abraços
Acho que preciso exatamente de uma função como essa, que imprima o texto posicionado nas coordenadas X e Y
P
patricia
Bom dia pessoal.
Eu estou tendo um problema com a minha impressão.
Gerei um arquivo.txt e quero imprimí-lo.
Pra enviar pra impressora tudo bem, porém, eu não estou conseguindo que seja impresso todo o conteúdo do arquivo, pois há linhas muito longas e na impressão não é quebrada a linha, fica faltando metade da linha a ser impressa.
Como eu faço pra que todo o meu arquivo seja impresso?
Segue meu codigo.
Mas to com um problema aqui… alguem sabe como fazem impressao pela rede??? Tipo, “LPT1” eh local neh… e pela rede???
Por acaso se for configurado uma impressora de rede no windows e eu mandar pra porta LPT1 normal como acima funfa???
ajuda ae…
jopss
E
eduardoluiz.ribeiro
Olá galera, estou refazendo o código postado aí a acíma, e apareceram alguns problemas aqui, bom, eu ja debuguei o código e ví que a primeira parte (selecionar a impressora) está funcionando certinho, porém para ele funcionar eu substitui
que é o drive da impressora que eu quero testar
só que agora não está indo para o método imprime… ou seja ele seleciona a impressora mas n manda imprimir…? alguem sabe como resolver? ou eu n posso substituir o Generic ou o Text
A
augustocolom
rafaelsouzaf:
Eu utilizo a classe abaixo para listar as impressoras que tenho no computador, escolher uma delas (no caso a Generic Text Only porque é uma impressora fiscal Bematech) e imprimir o que eu quiser.
packagebr.com.ipuc.Impressao;importjavax.print.*;importjava.io.ByteArrayInputStream;importjava.io.InputStream;// Essa classe é a responsavel pela impressao. Ela detecta a impressora// instalada, recebe o texto e o imprime.publicclassImpressao{// variavel estatica porque será utilizada por inumeras threadsprivatestaticPrintServiceimpressora;publicImpressao(){detectaImpressoras();}// O metodo verifica se existe impressora conectada e a// define como padrao.publicvoiddetectaImpressoras(){try{DocFlavordf=DocFlavor.SERVICE_FORMATTED.PRINTABLE;PrintService[]ps=PrintServiceLookup.lookupPrintServices(df,null);for(PrintServicep:ps){System.out.println("Impressora encontrada: "+p.getName());if(p.getName().contains("Text")||p.getName().contains("Generic")){System.out.println("Impressora Selecionada: "+p.getName());impressora=p;break;}}}catch(Exceptione){e.printStackTrace();}.....
Qualquer coisa meu MSN é [email removido]
Muito bom o exemplo… me ajudou muito!
Abraços
A
augustocolom
eduardoluiz.ribeiro:
Olá galera, estou refazendo o código postado aí a acíma, e apareceram alguns problemas aqui, bom, eu ja debuguei o código e ví que a primeira parte (selecionar a impressora) está funcionando certinho, porém para ele funcionar eu substitui
que é o drive da impressora que eu quero testar
só que agora não está indo para o método imprime… ou seja ele seleciona a impressora mas n manda imprimir…? alguem sabe como resolver? ou eu n posso substituir o Generic ou o Text
Cara…
é muito simples, na primeira vez que você rodas seu sistema, ele irá listar as impressoras disponíveis na máquina. Tu copia o nome e joga como parâmetro nesta linha…
Olá pessoal, estou com problemas para imprimir diretamente na impressora matricial EPSON FX-2170.
Estou imprimindo os dados, só que preciso diminuir o espaçamento entre linhas via software,alguém sabé como fazer, já procurei em vários lugares mais não acho os comandos para isso