Gerar ordem de serviço

6 respostas
G

Colegas,

Estou finalizando um pequeno sistema de ordem de serviço, que a princípio está tudo ok (incluir, alterar, excluir e deletar). Agora estou querendo inserir, talvez um botão, que gere a “ordem de serviço”, com os dados que foram cadastrados, para impressão.

Não conheço ferramentas para esse fim. Será que poderiam me ajudar nessa, e se for o caso indicar algum tutorial.

Agradeço a todos.

6 Respostas

H

Para imprimir você pode usar o printjob

Abraços

import java.awt.Canvas;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.PrintJob;
import java.awt.Toolkit;
import java.util.Properties;

import javax.swing.JFrame;

public class PrintSampleApp extends JFrame {
  MyCanvas canvas = new MyCanvas();

  public static void main(String args[]) {
    PrintSampleApp app = new PrintSampleApp();
  }

  public PrintSampleApp() {
    add("Center", canvas);
    setSize(500, 500);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setVisible(true);
    String name = "Test print job";
    Properties properties = new Properties();
    PrintJob pj = Toolkit.getDefaultToolkit().getPrintJob(PrintSampleApp.this, name, properties);
    if (pj != null) {
      canvas.printAll(pj.getGraphics());
      pj.end();
    }
  }
}

class MyCanvas extends Canvas {
  public void paint(Graphics g) {
    Dimension size = getSize();
    int width = size.width;
    int height = size.height;
    int x1 = (int) (width * 0.1);
    int x2 = (int) (width * 0.9);
    int y1 = (int) (height * 0.1);
    int y2 = (int) (height * 0.9);
    g.drawRect(x1, y1, x2 - x1, y2 - y1);
    g.drawOval(x1, y1, x2 - x1, y2 - y1);
    g.drawLine(x1, y1, x2, y2);
    g.drawLine(x2, y1, x1, y2);
    String text = "Print Me! ";
    text += text;
    text += text;
    g.drawString(text, x1, (int) ((y1 + y2) / 2));
    g.dispose();
  }
}
G

Caro amigo,

o tutorial que enviou abaixo, é para web ou desktop. Desculpe, mas ainda estou no início, é muita informação.

Obrigado.

H

Tanto faz…
Abraços

R

Se for fazer algo que demande de um pouco mais de detalhamento,recomendo utilizar uma ferramenta como o ireport, http://www.k19.com.br/artigos/relatorios-em-java-jasperreports-e-irepor/ , ele vai possibilitar que você crie layouts mais detalhados. Se for fazer algo mais simples use o IText, http://www.vogella.com/tutorials/JavaPDF/article.html .

juninhoall

Você quer que saia impresso todos os clientes cadastrados, ou as ordens que estão em pendencias ?

G

Caros colegas,

Me desculpem pela demora na resposta, é que estava sem internet esses dias.

Voltando ao assunto, tenho algumas “OS” cadastradas como teste, e na tabela que mostra essas “OS”, gostaria de colocar um botão que gere os dados cadastrados para cada “OS”, para impressão, esta é a minha dúvida, como implementar?

Obrigado a todos pelo retorno.

Criado 7 de julho de 2014
Ultima resposta 9 de jul. de 2014
Respostas 6
Participantes 4