Impressão Java

Pq voces nao fazem assim:

 StringBuffer str = new StringBuffer();

str.append("cachorro!");
str.append("\n");
str.append("eh vc!!");

FileOutputStream outputFile = new FileOutputStream("LPT1:");
                    PrintWriter out = new PrintWriter(outputFile);
                    
                    out.print(str);
                    out.flush();
                    
                    outputFile.close();
                    out.close();

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 :stuck_out_tongue:

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

if(p.getName().contains("Text")||p.getName().contains("Generic")){...

por

if(p.getName().contains("Text")||p.getName().contains("Brother PCL5e Driver")){...

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

[quote=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.

package br.com.ipuc.Impressao;

import javax.print.*;
import java.io.ByteArrayInputStream;
import java.io.InputStream;

// Essa classe é a responsavel pela impressao. Ela detecta a impressora
// instalada, recebe o texto e o imprime.
public class Impressao {

    // variavel estatica porque será utilizada por inumeras threads
    private static PrintService impressora;

    public Impressao() {

        detectaImpressoras();

    }

    // O metodo verifica se existe impressora conectada e a
    // define como padrao.
    public void detectaImpressoras() {

        try {

            DocFlavor df = DocFlavor.SERVICE_FORMATTED.PRINTABLE;
            PrintService[] ps = PrintServiceLookup.lookupPrintServices(df, null);
            for (PrintService p: 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 (Exception e) {

            e.printStackTrace();

        }
.....

Qualquer coisa meu MSN é rsf@chatmania.com.br
[/quote]

Muito bom o exemplo… me ajudou muito!

Abraços

[quote=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

if(p.getName().contains("Text")||p.getName().contains("Generic")){...

por

if(p.getName().contains("Text")||p.getName().contains("Brother PCL5e Driver")){...

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[/quote]

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…

if (p.getName().contains("Text") || p.getName().contains("PDFCreator"))

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

Obrigado!