essencialles.modelos.relatorio.tipos.MaisVendidos.java Source code

Java tutorial

Introduction

Here is the source code for essencialles.modelos.relatorio.tipos.MaisVendidos.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package essencialles.modelos.relatorio.tipos;

import com.itextpdf.text.BadElementException;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Element;
import com.itextpdf.text.Font;
import com.itextpdf.text.Image;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

/**
 *
 * @author FaLL
 */
public class MaisVendidos implements Runnable {
    private String caminho;

    @Override
    public void run() {
        try {
            //criao do PDF
            Document doc = new Document(PageSize.A4, 72, 72, 72, 72);

            OutputStream saida = new FileOutputStream(this.caminho);
            PdfWriter.getInstance(doc, saida);
            doc.open();
            try {
                //logomarca
                Image img = Image.getInstance("src/views/img/logomarca.png");
                img.setAlignment(Element.ALIGN_CENTER);
                doc.add(img);
            } catch (BadElementException | IOException ex) {
                throw new RuntimeException(ex);
            }
            //paragrafo
            Paragraph paragrafo = new Paragraph("Relatrio de Produtos Mais Vendidos");
            paragrafo.setSpacingAfter(50);
            paragrafo.setSpacingBefore(15);
            paragrafo.setFont(new Font(Font.FontFamily.COURIER, Font.BOLD));
            paragrafo.setAlignment(Element.ALIGN_CENTER);
            doc.add(paragrafo);

            /*tabela
             PdfPTable tabela = new PdfPTable(9);
             tabela.setHorizontalAlignment(Element.ALIGN_CENTER);
             PdfPCell header = new PdfPCell(new Paragraph("Todos os Produtos"));
             header.setColspan(9);
             tabela.addCell(header);
             tabela.addCell("Codigo");
             tabela.addCell("Nome");
             tabela.addCell("Marca");
             tabela.addCell("Preo");
             tabela.addCell("Custo");
             tabela.addCell("Cor");
             tabela.addCell("Descrio");
             tabela.addCell("Peso");
             tabela.addCell("Disponibilidade");
             tabela.addCell("Validade");
             adicionar linhas da tabela.
             for (Produto p : produtos) {
             String cod = p.getCod_produto() + "";
             String nome = p.getNome();
             String marca = p.getMarca();
             String preco = p.getPreco() + "";
             String custo = p.getCusto() + "";
             String cor = p.getCor();
             String descricao = p.getDescricao();
             String peso = p.getPeso();
             String disponibilidade = p.getDisponibilidade();
             String validade = p.getValidade() + "";
                
             }*/
            try {
                saida.flush();

            } catch (IOException ex) {
                throw new RuntimeException(ex);
            }
            doc.close();

            try {
                saida.close();
            } catch (IOException ex) {
                throw new RuntimeException(ex);
            }

        } catch (FileNotFoundException | DocumentException ex) {
            throw new RuntimeException(ex);
        }
    }

}