Está en la página 1de 4

public String fecha() {

Calendar c = new GregorianCalendar();


String dia = Integer.toString(c.get(Calendar.DATE));
String mes = Integer.toString(c.get(Calendar.MONTH) + 1);
String annio = Integer.toString(c.get(Calendar.YEAR));
return " " + dia + " / " + mes + " / " + annio;
}

public void generarFactura(String nombre, DefaultTableModel modeloFacturacion,


String Apellido, String Cedula, String Direccion, String Mail) throws
FileNotFoundException, DocumentException, MalformedURLException,
BadElementException, IOException {
int filas = modeloFacturacion.getRowCount() - 1;
FileOutputStream archivo = new FileOutputStream(nombre + ".pdf");
Document documento = new Document();
PdfWriter pdfw = getInstance(documento, archivo);
Image imagen = Image.getInstance("logo1.png");
documento.open();
Image img;
//Es el tipo de clase
// BarcodeEAN codeEAN = new BarcodeEAN();
Barcode39 codeEAN = new Barcode39();
//Seteo el tipo de codigo
codeEAN.setCodeType(Barcode.EAN13);
//Setep el codigo
codeEAN.setCode("9781935182610");
//Paso el codigo a imagen
img = codeEAN.createImageWithBarcode(pdfw.getDirectContent(),
BaseColor.BLACK, BaseColor.BLACK);

Paragraph parafo = new Paragraph("Factura Eletronica");


parafo.setAlignment(1);
imagen.setAlignment(Element.ALIGN_CENTER);
documento.add(parafo);
documento.add(imagen);

documento.add(new Paragraph("Kinchi Prouductos" + "" + "\n"


+ "Ruc:1091733249001 " + " Telefono:062526006" + "" + "\n"
+ "Matriz:Modesto Jaramillo y Quiroga" + "" + "\n"));
documento.add(new Paragraph("Nombre: " + nombre + " " + Apellido));
documento.add(new Paragraph("Direccion: " + Direccion));
documento.add(new Paragraph("Mail: " + Mail));
documento.add(new Paragraph("Numero factura: " + Num_Factura()));
documento.add(new Paragraph("\n"));
documento.add(new Paragraph("Fecha de Emicion:" + fecha()));
documento.add(new Paragraph("\n"));
PdfPTable tbl = new PdfPTable(6);
tbl.addCell("Codigo");
tbl.addCell("Nombre");
tbl.addCell("Descripcion");
tbl.addCell("Precio");
tbl.addCell("Cantidad");
tbl.addCell("Precio");
for (int i = 0; i < modeloFacturacion.getRowCount(); i++) {
String codigo = modeloFacturacion.getValueAt(i, 0).toString();
String nombre1 = modeloFacturacion.getValueAt(i, 1).toString();
String descripcion = modeloFacturacion.getValueAt(i, 2).toString();
String precio = modeloFacturacion.getValueAt(i, 3).toString();
String cantidad = modeloFacturacion.getValueAt(i, 4).toString();
String total = modeloFacturacion.getValueAt(i, 5).toString();
tbl.addCell(codigo);
tbl.addCell(nombre1);
tbl.addCell(descripcion);
tbl.addCell(precio);
tbl.addCell(cantidad);
tbl.addCell(total);
}
documento.add(tbl);
documento.add(new Paragraph("\n\n\n"));
documento.add(img);
documento.close();
JOptionPane.showMessageDialog(null, "Archivo creado correctamente",
"Informacion", 1);

public void abrir(String Nombre, DefaultTableModel modeloFacturacion) {


try {
File path = new File(Nombre + ".pdf");
Desktop.getDesktop().open(path);
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, ex);
}

public int Random(int minimo, int maximo) {


int num = (int) Math.floor(Math.random() * (maximo - minimo + 1) +
(minimo));
return num;
}

public String invertirCadena(String cadena) {


String cadenaInvertida = "";
for (int x = cadena.length() - 1; x >= 0; x--) {
cadenaInvertida = cadenaInvertida + cadena.charAt(x);
}
return cadenaInvertida;
}

public int obtenerSumaPorDigitos(String cadena) {


int pivote = 2;
int longitudCadena = cadena.length();
int cantidadTotal = 0;
int b = 1;
for (int i = 0; i < longitudCadena; i++) {
if (pivote == 8) {
pivote = 2;
}
int temporal = Integer.parseInt("" + cadena.substring(i, b));
b++;
temporal *= pivote;
pivote++;
cantidadTotal += temporal;
}
cantidadTotal = 11 - cantidadTotal % 11;
return cantidadTotal;
}

public String Num_Factura() {


String r1 = String.valueOf(Random(1, 8)), r2 = String.valueOf(Random(1,
8)),
r3 = String.valueOf(Random(1, 8)), r4 = String.valueOf(Random(1,
8)),
r5 = String.valueOf(Random(1, 8)), r6 = String.valueOf(Random(1,
8)),
r7 = String.valueOf(Random(1, 8));

String nfinal = r1 + r2 + r3 + r4 + r5 + r6 + r7;


int i = 1;
int j = Random(1, 5);
int v = obtenerSumaPorDigitos(nfinal); //verificador del modulo11
String r = String.format("00%d - 00%d - 0%s%d", i, j, nfinal, v);
return r;

boton aggregar
a = new ArchivosFacturacion();
boolean r = a.Buscarregistro(txtCodigo1.getText(), modeloFacturacion);
if (r) {
a.AgregarCompra(modeloFacturacion, modelo,
Integer.parseInt(txtCantidad3.getText()), txtCodigo1.getText());
}
botont generar
try {
f.generarFactura(txtNombre3.getText(), modeloFacturacion,
txtApellido3.getText(),
txtCedula3.getText(), txtDireccion3.getText(),
txtMail3.getText());

} catch (Exception ex) {

}
boton abrir
f.abrir(txtNombre3.getText(), modeloFacturacion);z

import com.itextpdf.text.BadElementException;
import com.itextpdf.text.BaseColor;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Element;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfWriter;
import java.awt.Desktop;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.net.MalformedURLException;
import java.util.Calendar;
import java.util.GregorianCalendar;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

También podría gustarte