Imprimir Texto

1 resposta
K

Na classe a seguir como eu consigio controlar a inpressão de paginas?

//Classe responsável por manipular a impressora

import javax.swing.<em>;

import java.awt.</em>;

import java.awt.print.<em>;

import <a href="http://java.io">java.io</a>.</em>;

public class LMSPrint extends JComponent implements Printable

{

private String file;

private int cont=0;
public LMSPrint(String f)//String que será impressa
{      
  file=f;
 
}
public void imprimir(String f){//definição das rotinas de impressão
	
PrinterJob pjob = PrinterJob.getPrinterJob();
PageFormat pf = pjob.defaultPage();
    pjob.setPrintable(new LMSPrint(f), pf);
    try
    {
        if (pjob.printDialog())
        {
            pjob.print();
        }
    }
    catch (PrinterException e)
    {
        
    }
}    
public int print(Graphics g, PageFormat pf, int pageIndex)//rotinha que envias a String para 
//a impressora
{
   
    Graphics2D g2d = (Graphics2D)g;
    g2d.translate(pf.getImageableX(), pf.getImageableY());
   
   
Font Font2 = new Font("Times new Roman", Font.BOLD,10);
Font Font1 = new Font("Arial Black",Font.PLAIN,14);
Font Font3 = new Font("Times new Roman", Font.ITALIC,8);
     int PrintLocation = 20;
    int PageWidth = 0;
    if (pf.getOrientation() == PageFormat.PORTRAIT)
    {
        PageWidth = 600;
    }
    else
    if (pf.getOrientation() == PageFormat.LANDSCAPE)
    {
        PageWidth = 1000;
    }


    PrintLocation +=20;
    g.setColor(Color.blue);
    g.setFont(Font1);
    g.drawString("Analisador Léxico - LMS",10,10);
    g.setFont(Font3);
    g.drawString("Versão 1.0.0",10,20);
    g.setColor(Color.black);
    g.drawLine(10,30,PageWidth,30 );
    g.setFont(Font2);
    String str="";
  	try{
	BufferedWriter arq=new BufferedWriter(new FileWriter("spoll.tmp"));
		arq.write(file);
		arq.close();
  	}catch (IOException err) {
	}
	int y=0;
	try 
	{				
	  BufferedReader ler= new BufferedReader(new FileReader("spoll.tmp"));
	  while((str=ler.readLine())!=null){
      	g.drawString(str,10,PrintLocation);
     	PrintLocation+=10;
     }
    ler.close();
    }
    catch(IOException e){          
    }
    boolean sucesso = (new File("spoll.tmp")).delete();//apagar arquivo   
    return Printable.NO_SUCH_PAGE;
}

}

1 Resposta

eltonk

Dah uma olhada aqui http://www.portaljava.com.br/home/modules.php?name=Content&pa=showpage&pid=19

Ve se te ajuda em algo =)

Abracos

Criado 8 de janeiro de 2004
Ultima resposta 14 de jan. de 2004
Respostas 1
Participantes 2