package AlMaGe.export;
import java.awt.Color;
import java.awt.Desktop;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.MalformedURLException;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import AlMaGe.DataMgr;
import com.itextpdf.text.Anchor;
import com.itextpdf.text.BaseColor;
import com.itextpdf.text.Chunk;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Element;
import com.itextpdf.text.Font;
import com.itextpdf.text.FontFactory;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.Phrase;
import com.itextpdf.text.Rectangle;
import com.itextpdf.text.pdf.PdfPCell;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfWriter;
import com.itextpdf.text.pdf.draw.LineSeparator;
public class PDFExport {
private static String anrede = "";
private static String nachname = "";
private static String vorname = "";
private static String strasse = "";
private static String plz = "";
private static String ort = "";
private static String krankenkasse = "";
private static String bundesland = "";
private static String religion = "";
private static Date gebDate = new Date();
private static double kinder = 0;
private static double bruttogehalt = 0;
private static double sonstAbzug = 0;
private static double sonstBezug = 0;
private static double zuVersteuerndesEinkommen = 0;
private static double lohnsteuer = 0;
private static double kirchensteuer = 0;
private static double prozentKirchensteuer = 0;
private static double soli = 0;
private static double gesSteuerabzug = 0;
private static double krankenversicherung = 0;
private static double prozentKrankenversicherung = 0;
private static double pflegeversicherung = 0;
private static double prozentPflegeversicherung = 0;
private static double rentenversicherung = 0;
private static double prozentRentenversicherung = 0;
private static double arbeitslosenversicherung = 0;
private static double prozentArbeitslosenversicherung = 0;
private static double gesSozialversicherungsabzug = 0;
private static double nettogehalt = 0;
private static SimpleDateFormat formatter = new SimpleDateFormat ("yyyy-MM-dd");// 'at' HH:mm:ss
private static SimpleDateFormat monat = new SimpleDateFormat ("MMMM");// 'at' HH:mm:ss
private static SimpleDateFormat adressDate = new SimpleDateFormat ("dd. MMMM yyyy");// 'at' HH:mm:ss
private static SimpleDateFormat abrechnDate = new SimpleDateFormat ("dd.MM.yyyy");// 'at' HH:mm:ss
private static Date date = new Date();
private static DecimalFormat df = new DecimalFormat ( ",##0.00 �" );
private static DecimalFormat pf = new DecimalFormat ( ",##0.00" );
private static String FILE;
private static Font headerAdressFont = new Font(Font.FontFamily.TIMES_ROMAN, 8,
Font.NORMAL);
private static Font mainBigFont = new Font(Font.FontFamily.TIMES_ROMAN, 12,
Font.BOLD);
public PDFExport(int gehAusID, int persID) {
try {
ResultSet rs = DataMgr.getInstance().getResultSet("" +
"SELECT "+
""+
"`gehaltausgezahlt`.`BuchungsDat`, "+
"`gehaltausgezahlt`.`GehBrutto`, "+
"`gehaltausgezahlt`.`GehNetto`, "+
"`gehaltausgezahlt`.`RVAN`, "+
"`gehaltausgezahlt`.`KVAN`, "+
"`gehaltausgezahlt`.`ALVAN`, "+
"`gehaltausgezahlt`.`PVAN`, "+
"`gehaltausgezahlt`.`RVANProz`, "+
"`gehaltausgezahlt`.`KVANProz`, "+
"`gehaltausgezahlt`.`ALVANProz`, "+
"`gehaltausgezahlt`.`PVANProz`, "+
"`gehaltausgezahlt`.`LSt`, "+
"`gehaltausgezahlt`.`KiSt`, "+
"`gehaltausgezahlt`.`Soli`, "+
"`gehaltausgezahlt`.`sonstBezug`, "+
"`gehaltausgezahlt`.`sonstAbzug`, "+
""+
"`personen`.`Anrede`, "+
"`personen`.`Nachname`, "+
"`personen`.`Vorname`, "+
"`personen`.`Strasse`, "+
"`personen`.`GebDat`, "+
"`personen`.`Kinder`, "+
""+
"`plz_ort_vorwahl`.`Plz`, "+
"`plz_ort_vorwahl`.`Ort`, "+
"`plz_ort_vorwahl`.`Zusatz` AS OrtZusatz,"+
""+
"`bundeslaender`.`Name` AS BundeslandName,"+
"`bundeslaender`.`KiStSatz`,"+
""+
"`krankenkasse`.`Name` AS KrankenkasseName,"+
""+
"`religion`.`Name` AS ReligionName "+
""+
"FROM (((`gehaltausgezahlt` "+
"INNER JOIN `personen` "+
"ON(`gehaltausgezahlt`.`PersID` = `personen`.`PersID`)) "+
"INNER JOIN `plz_ort_vorwahl` "+
"ON (`personen`.`PlzID` = `plz_ort_vorwahl`.`PlzID`)) "+
"INNER JOIN `bundeslaender` "+
"ON (`plz_ort_vorwahl`.`BLID` = `bundeslaender`.`BLID`)) "+
"INNER JOIN `krankenkasse`"+
"ON (`personen`.`KrKasseID` = `krankenkasse`.`KrKasseID`) "+
"INNER JOIN `religion`"+
"ON (`personen`.`ReligionID` = `religion`.`ReligionID`) "+
""+
"WHERE `gehaltausgezahlt`.`GehAusID` = '"+gehAusID+"' "+
"AND `gehaltausgezahlt`.`PersID` = '"+persID+"'");
if(rs.next()){
//gehaltausgezahlt
date = rs.getDate("BuchungsDat");
bruttogehalt = rs.getDouble("GehBrutto");
nettogehalt = rs.getDouble("GehNetto");
rentenversicherung = rs.getDouble("RVAN");
krankenversicherung = rs.getDouble("KVAN");
arbeitslosenversicherung = rs.getDouble("ALVAN");
pflegeversicherung = rs.getDouble("PVAN");
prozentRentenversicherung = rs.getDouble("RVANProz");
prozentKrankenversicherung = rs.getDouble("KVANProz");
prozentArbeitslosenversicherung = rs.getDouble("ALVANProz");
prozentPflegeversicherung = rs.getDouble("PVANProz");
lohnsteuer = rs.getDouble("LSt");
kirchensteuer = rs.getDouble("KiSt");
soli = rs.getDouble("Soli");
sonstBezug = rs.getDouble("sonstBezug");
sonstAbzug = rs.getDouble("sonstAbzug");
//personen
anrede = rs.getString("Anrede");
nachname = rs.getString("Nachname");
vorname = rs.getString("Vorname");
strasse = rs.getString("Strasse");
gebDate = rs.getDate("GebDat");
kinder = rs.getDouble("Kinder");
//plz_ort_vorwahl
plz = rs.getString("Plz");
ort = rs.getString("Ort")
+ rs.getString("OrtZusatz");
//bundeslaender
bundesland = rs.getString("BundeslandName");
prozentKirchensteuer = rs.getDouble("KiStSatz");
//krankenkasse
krankenkasse = rs.getString("KrankenkasseName");
//religion
religion = rs.getString("ReligionName");
}
FILE = System.getProperty("user.home") + "/Documents/"+date.getTime()+"_Gehaltsabrechnung_"+nachname+"_"+vorname+".pdf";
zuVersteuerndesEinkommen = bruttogehalt + sonstBezug - sonstAbzug;
gesSteuerabzug = lohnsteuer + kirchensteuer + soli;
gesSozialversicherungsabzug = krankenversicherung + pflegeversicherung + rentenversicherung + arbeitslosenversicherung;
Document document = new Document(new Rectangle(PageSize.A4));
document.setPageCount(1);
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(FILE));
writer.setPageEvent(new PDFHeaderFooterWriter());
document.open();
addMetaData(document);
addPage(document);
document.close();
Desktop.getDesktop().open(new File(FILE));
} catch (Exception e){
e.printStackTrace();
}
}
public PDFExport(int[][] persAndAusgezID, String filePath, PDF whatsNext) throws DocumentException, InstantiationException, IllegalAccessException, ClassNotFoundException, SQLException, MalformedURLException, IOException {
Document document = new Document(new Rectangle(PageSize.A4));
document.setPageCount(1);
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(filePath));
writer.setPageEvent(new PDFHeaderFooterWriter());
document.open();
addMetaData(document);
for(int i = 0; i < persAndAusgezID.length; i++){
if(i > 0)
document.newPage();
ResultSet rs = DataMgr.getInstance().getResultSet("" +
"SELECT "+
""+
"`gehaltausgezahlt`.`BuchungsDat`, "+
"`gehaltausgezahlt`.`GehBrutto`, "+
"`gehaltausgezahlt`.`GehNetto`, "+
"`gehaltausgezahlt`.`RVAN`, "+
"`gehaltausgezahlt`.`KVAN`, "+
"`gehaltausgezahlt`.`ALVAN`, "+
"`gehaltausgezahlt`.`PVAN`, "+
"`gehaltausgezahlt`.`RVANProz`, "+
"`gehaltausgezahlt`.`KVANProz`, "+
"`gehaltausgezahlt`.`ALVANProz`, "+
"`gehaltausgezahlt`.`PVANProz`, "+
"`gehaltausgezahlt`.`LSt`, "+
"`gehaltausgezahlt`.`KiSt`, "+
"`gehaltausgezahlt`.`Soli`, "+
"`gehaltausgezahlt`.`sonstBezug`, "+
"`gehaltausgezahlt`.`sonstAbzug`, "+
""+
"`personen`.`Anrede`, "+
"`personen`.`Nachname`, "+
"`personen`.`Vorname`, "+
"`personen`.`Strasse`, "+
"`personen`.`GebDat`, "+
"`personen`.`Kinder`, "+
""+
"`plz_ort_vorwahl`.`Plz`, "+
"`plz_ort_vorwahl`.`Ort`, "+
"`plz_ort_vorwahl`.`Zusatz` AS OrtZusatz,"+
""+
"`bundeslaender`.`Name` AS BundeslandName,"+
"`bundeslaender`.`KiStSatz`,"+
""+
"`krankenkasse`.`Name` AS KrankenkasseName,"+
""+
"`religion`.`Name` AS ReligionName "+
""+
"FROM (((`gehaltausgezahlt` "+
"INNER JOIN `personen` "+
"ON(`gehaltausgezahlt`.`PersID` = `personen`.`PersID`)) "+
"INNER JOIN `plz_ort_vorwahl` "+
"ON (`personen`.`PlzID` = `plz_ort_vorwahl`.`PlzID`)) "+
"INNER JOIN `bundeslaender` "+
"ON (`plz_ort_vorwahl`.`BLID` = `bundeslaender`.`BLID`)) "+
"INNER JOIN `krankenkasse`"+
"ON (`personen`.`KrKasseID` = `krankenkasse`.`KrKasseID`) "+
"INNER JOIN `religion`"+
"ON (`personen`.`ReligionID` = `religion`.`ReligionID`) "+
""+
"WHERE `gehaltausgezahlt`.`GehAusID` = '"+persAndAusgezID[i][0]+"' "+
"AND `gehaltausgezahlt`.`PersID` = '"+persAndAusgezID[i][1]+"'");
if(rs.next()){
//gehaltausgezahlt
date = rs.getDate("BuchungsDat");
bruttogehalt = rs.getDouble("GehBrutto");
nettogehalt = rs.getDouble("GehNetto");
rentenversicherung = rs.getDouble("RVAN");
krankenversicherung = rs.getDouble("KVAN");
arbeitslosenversicherung = rs.getDouble("ALVAN");
pflegeversicherung = rs.getDouble("PVAN");
prozentRentenversicherung = rs.getDouble("RVANProz");
prozentKrankenversicherung = rs.getDouble("KVANProz");
prozentArbeitslosenversicherung = rs.getDouble("ALVANProz");
prozentPflegeversicherung = rs.getDouble("PVANProz");
lohnsteuer = rs.getDouble("LSt");
kirchensteuer = rs.getDouble("KiSt");
soli = rs.getDouble("Soli");
sonstBezug = rs.getDouble("sonstBezug");
sonstAbzug = rs.getDouble("sonstAbzug");
//personen
anrede = rs.getString("Anrede");
nachname = rs.getString("Nachname");
vorname = rs.getString("Vorname");
strasse = rs.getString("Strasse");
gebDate = rs.getDate("GebDat");
kinder = rs.getDouble("Kinder");
//plz_ort_vorwahl
plz = rs.getString("Plz");
ort = rs.getString("Ort")
+ rs.getString("OrtZusatz");
//bundeslaender
bundesland = rs.getString("BundeslandName");
prozentKirchensteuer = rs.getDouble("KiStSatz");
//krankenkasse
krankenkasse = rs.getString("KrankenkasseName");
//religion
religion = rs.getString("ReligionName");
}
zuVersteuerndesEinkommen = bruttogehalt + sonstBezug - sonstAbzug;
gesSteuerabzug = lohnsteuer + kirchensteuer + soli;
gesSozialversicherungsabzug = krankenversicherung + pflegeversicherung + rentenversicherung + arbeitslosenversicherung;
addPage(document);
}
document.close();
if(whatsNext == PDF.ANZEIGEN || whatsNext == PDF.ANZEIGEN_DRUCKEN)
Desktop.getDesktop().open(new File(filePath));
if(whatsNext == PDF.DRUCKEN || whatsNext == PDF.ANZEIGEN_DRUCKEN)
Desktop.getDesktop().print(new File(filePath));
}
public PDFExport() {
try {
Document document = new Document(new Rectangle(PageSize.A4));
document.setPageCount(1);
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(FILE));
writer.setPageEvent(new PDFHeaderFooterWriter());
document.open();
addMetaData(document);
addPage(document);
document.close();
Desktop.getDesktop().open(new File(FILE));
} catch (Exception e){
e.printStackTrace();
}
}
private static void addMetaData(Document document) {
document.addTitle("Gehaltsabrechnung "+vorname+" "+nachname+" "+formatter.format(date));
document.addSubject("Ihre Gehaltsabrechnung von "+formatter.format(date));
document.addKeywords("Gehaltsabrechnung, Lohnabrechnung, Abrechnung, Gehalt, Lohn");
document.addAuthor("AlMaGe - Gehaltsabrechnung");
document.addCreator("AlMaGe - Gehaltsabrechnung");
document.addCreationDate();
}
private static void addPage(Document document)
throws DocumentException, MalformedURLException, IOException {
Paragraph header2 = new Paragraph();
header2.setAlignment(Element.ALIGN_LEFT);
header2.add(new Paragraph("Computerservice � Matthias M�ller � Rheingoldstr. 38a � 56329 St. Goar", headerAdressFont));
header2.add(new LineSeparator((float) 0.8, 100, BaseColor.BLACK, Element.ALIGN_CENTER, 12));
Paragraph adresse = new Paragraph();
//adresse.add(new Paragraph(" ", new Font(Font.FontFamily.TIMES_ROMAN, 8)));
float[] relSize = {3, 2};
PdfPTable table = new PdfPTable(relSize);
table.getDefaultCell().setBorder(Rectangle.NO_BORDER);
table.setWidthPercentage(100);
Font adressFont = new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL);
table.addCell("");
table.addCell("");
table.addCell("");
table.addCell(new Phrase("Matthias M�ller Computerservice", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD)));
table.addCell("");
table.addCell(new Phrase("Rheingoldstr. 38a", adressFont));
table.addCell(anrede);
table.addCell(new Phrase("56329 St. Goar", adressFont));
table.addCell(vorname+" "+nachname);
table.addCell("");
table.addCell(strasse);
table.addCell(new Phrase("Telefon: 0 67 41 / 20 74 06", adressFont));
table.addCell(plz+" "+ort);
table.addCell(new Phrase("Mobil: 01 52 / 09 80 91 92", adressFont));
table.addCell("");
//Mail
Phrase adressPh = new Phrase();
adressPh.add(new Chunk("E-Mail: ", adressFont));
Anchor emailLink = new Anchor("kontakt@muellerpc.de", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.UNDERLINE, new BaseColor(Color.BLUE)));
emailLink.setReference("mailto:kontakt@muellerpc.de");
adressPh.add(emailLink);
table.addCell(adressPh);
table.addCell("");
table.addCell("");
table.addCell("");
table.addCell(new Phrase("Datum: "+adressDate.format(date)+"", adressFont));
adresse.add(table);
Paragraph main = new Paragraph();
main.add(new Paragraph(" "));
main.add(new Paragraph("Gehaltsabrechnung "+monat.format(date), new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD)));
//anfang main
float[] relSizeMain = {1,1,1,1,1};
PdfPTable tableMain = new PdfPTable(relSizeMain);
tableMain.getDefaultCell().setBorder(Rectangle.BOX);
PdfPCell cH1 = new PdfPCell(new Phrase("Krankenkasse", mainBigFont));
cH1.setHorizontalAlignment(Element.ALIGN_CENTER);
tableMain.addCell(cH1);
PdfPCell cH2 = new PdfPCell(new Phrase("Bundesland", mainBigFont));
cH2.setHorizontalAlignment(Element.ALIGN_CENTER);
tableMain.addCell(cH2);
PdfPCell cH3 = new PdfPCell(new Phrase("Religion", mainBigFont));
cH3.setHorizontalAlignment(Element.ALIGN_CENTER);
tableMain.addCell(cH3);
PdfPCell cH4 = new PdfPCell(new Phrase("Geb. Datum", mainBigFont));
cH4.setHorizontalAlignment(Element.ALIGN_CENTER);
tableMain.addCell(cH4);
PdfPCell cH5 = new PdfPCell(new Phrase("Kinder", mainBigFont));
cH5.setHorizontalAlignment(Element.ALIGN_CENTER);
tableMain.addCell(cH5);
tableMain.setHeaderRows(1);
tableMain.addCell(krankenkasse);
tableMain.addCell(bundesland);
tableMain.addCell(religion);
tableMain.addCell(abrechnDate.format(gebDate));
tableMain.addCell(""+kinder);
float[] relSizeMainGehalt = {12,3,8,8};
PdfPTable tableMainGehalt = new PdfPTable(relSizeMainGehalt);
tableMainGehalt.getDefaultCell().setBorder(Rectangle.BOX);
PdfPCell cA1 = new PdfPCell(new Phrase("Ab-/Bez�ge", mainBigFont));
cA1.setHorizontalAlignment(Element.ALIGN_CENTER);
tableMainGehalt.addCell(cA1);
PdfPCell cA2 = new PdfPCell(new Phrase("%", mainBigFont));
cA2.setHorizontalAlignment(Element.ALIGN_CENTER);
tableMainGehalt.addCell(cA2);
PdfPCell cA3 = new PdfPCell(new Phrase("Teilbetr�ge", mainBigFont));
cA3.setHorizontalAlignment(Element.ALIGN_CENTER);
tableMainGehalt.addCell(cA3);
PdfPCell cA4 = new PdfPCell(new Phrase("Gesamtbetrag", mainBigFont));
cA4.setHorizontalAlignment(Element.ALIGN_CENTER);
tableMainGehalt.addCell(cA4);
tableMainGehalt.setHeaderRows(1);
tableMainGehalt.addCell("Bruttogehalt");
tableMainGehalt.addCell("");
PdfPCell c = new PdfPCell(new Phrase(df.format(bruttogehalt)));
c.setHorizontalAlignment(Element.ALIGN_RIGHT);
tableMainGehalt.addCell(c);
tableMainGehalt.addCell("");
tableMainGehalt.addCell("+ Sonstige Bez�ge");
tableMainGehalt.addCell("");
c = new PdfPCell(new Phrase(df.format(sonstBezug)));
c.setHorizontalAlignment(Element.ALIGN_RIGHT);
tableMainGehalt.addCell(c);
tableMainGehalt.addCell("");
tableMainGehalt.addCell("- Sonstige Abz�ge");
tableMainGehalt.addCell("");
c = new PdfPCell(new Phrase(df.format(sonstAbzug)));
c.setHorizontalAlignment(Element.ALIGN_RIGHT);
tableMainGehalt.addCell(c);
tableMainGehalt.addCell("");
PdfPCell c6 = new PdfPCell(new Phrase("= Zu versteuerndes Einkommen"));
c6.setBorderWidthBottom(1);
tableMainGehalt.addCell(c6);
PdfPCell c7 = new PdfPCell(new Phrase(""));
c7.setBorderWidthRight(0);
c7.setBorderWidthLeft(0);
c7.setBorderWidthBottom(1);
tableMainGehalt.addCell(c7);
PdfPCell c8 = new PdfPCell(new Phrase(""));
c8.setBorderWidthRight(0);
c8.setBorderWidthBottom(1);
tableMainGehalt.addCell(c8);
PdfPCell c9 = new PdfPCell(new Phrase(df.format(zuVersteuerndesEinkommen)));
c9.setBorderWidthBottom(1);
c9.setHorizontalAlignment(Element.ALIGN_RIGHT);
tableMainGehalt.addCell(c9);
tableMainGehalt.addCell("- Lohnsteuer");
tableMainGehalt.addCell("");
c = new PdfPCell(new Phrase(df.format(lohnsteuer)));
c.setHorizontalAlignment(Element.ALIGN_RIGHT);
tableMainGehalt.addCell(c);
tableMainGehalt.addCell("");
tableMainGehalt.addCell("- Kirchensteuer");
c = new PdfPCell(new Phrase(pf.format(prozentKirchensteuer)+" %"));
c.setHorizontalAlignment(Element.ALIGN_RIGHT);
tableMainGehalt.addCell(c);
c = new PdfPCell(new Phrase(df.format(kirchensteuer)));
c.setHorizontalAlignment(Element.ALIGN_RIGHT);
tableMainGehalt.addCell(c);
tableMainGehalt.addCell("");
tableMainGehalt.addCell("- Solidarit�tszuschlag");
tableMainGehalt.addCell("");
c = new PdfPCell(new Phrase(df.format(soli)));
c.setHorizontalAlignment(Element.ALIGN_RIGHT);
tableMainGehalt.addCell(c);
tableMainGehalt.addCell("");
PdfPCell c10 = new PdfPCell(new Phrase("= Zu Gesamte Steuerabz�ge"));
c10.setBorderWidthBottom(1);
tableMainGehalt.addCell(c10);
PdfPCell c11 = new PdfPCell(new Phrase(""));
c11.setBorderWidthRight(0);
c11.setBorderWidthLeft(0);
c11.setBorderWidthBottom(1);
tableMainGehalt.addCell(c11);
PdfPCell c12 = new PdfPCell(new Phrase(""));
c12.setBorderWidthRight(0);
c12.setBorderWidthBottom(1);
tableMainGehalt.addCell(c12);
PdfPCell c13 = new PdfPCell(new Phrase(df.format(gesSteuerabzug)));
c13.setBorderWidthBottom(1);
c13.setHorizontalAlignment(Element.ALIGN_RIGHT);
tableMainGehalt.addCell(c13);
tableMainGehalt.addCell("- Krankenversicherung");
c = new PdfPCell(new Phrase(pf.format(prozentKrankenversicherung)+" %"));
c.setHorizontalAlignment(Element.ALIGN_RIGHT);
tableMainGehalt.addCell(c);
c = new PdfPCell(new Phrase(df.format(krankenversicherung)));
c.setHorizontalAlignment(Element.ALIGN_RIGHT);
tableMainGehalt.addCell(c);
tableMainGehalt.addCell("");
tableMainGehalt.addCell("- Pflegeversicherung");
c = new PdfPCell(new Phrase(pf.format(prozentPflegeversicherung)+" %"));
c.setHorizontalAlignment(Element.ALIGN_RIGHT);
tableMainGehalt.addCell(c);
c = new PdfPCell(new Phrase(df.format(pflegeversicherung)));
c.setHorizontalAlignment(Element.ALIGN_RIGHT);
tableMainGehalt.addCell(c);
tableMainGehalt.addCell("");
tableMainGehalt.addCell("- Rentenversicherung");
c = new PdfPCell(new Phrase(pf.format(prozentRentenversicherung)+" %"));
c.setHorizontalAlignment(Element.ALIGN_RIGHT);
tableMainGehalt.addCell(c);
c = new PdfPCell(new Phrase(df.format(rentenversicherung)));
c.setHorizontalAlignment(Element.ALIGN_RIGHT);
tableMainGehalt.addCell(c);
tableMainGehalt.addCell("");
tableMainGehalt.addCell("- Arbeitslosenversicherung");
c = new PdfPCell(new Phrase(pf.format(prozentArbeitslosenversicherung)+" %"));
c.setHorizontalAlignment(Element.ALIGN_RIGHT);
tableMainGehalt.addCell(c);
c = new PdfPCell(new Phrase(df.format(arbeitslosenversicherung)));
c.setHorizontalAlignment(Element.ALIGN_RIGHT);
tableMainGehalt.addCell(c);
tableMainGehalt.addCell("");
PdfPCell c14 = new PdfPCell(new Phrase("= Gesamte Sozialver. Abz�ge"));
c14.setBorderWidthTop(0);
c14.setBorderWidthBottom(1);
tableMainGehalt.addCell(c14);
PdfPCell c15 = new PdfPCell(new Phrase(""));
c15.setBorderWidthTop(0);
c15.setBorderWidthRight(0);
c15.setBorderWidthLeft(0);
c15.setBorderWidthBottom(1);
tableMainGehalt.addCell(c15);
PdfPCell c16 = new PdfPCell(new Phrase(""));
c16.setBorderWidthTop(0);
c16.setBorderWidthRight(0);
c16.setBorderWidthBottom(1);
tableMainGehalt.addCell(c16);
PdfPCell c17 = new PdfPCell(new Phrase(df.format(gesSozialversicherungsabzug)));
c17.setBorderWidthTop(0);
c17.setBorderWidthBottom(1);
c17.setHorizontalAlignment(Element.ALIGN_RIGHT);
tableMainGehalt.addCell(c17);
tableMainGehalt.addCell("= Nettogehalt");
tableMainGehalt.addCell("");
tableMainGehalt.addCell("");
c = new PdfPCell(new Phrase(df.format(nettogehalt)));
c.setHorizontalAlignment(Element.ALIGN_RIGHT);
tableMainGehalt.addCell(c);
PdfPCell c18 = new PdfPCell(new Phrase(""));
c18.setColspan(4);
c18.setBorderWidth(1);
c18.setBorderWidthLeft(0);
c18.setBorderWidthRight(0);
tableMainGehalt.addCell(c18);
PdfPCell c19 = new PdfPCell(new Phrase(""));
c19.setColspan(4);
c19.setBorderWidth(0);
tableMainGehalt.addCell(c19);
float[] relSizeBorder = {1};
PdfPTable tableBorder = new PdfPTable(relSizeBorder);
tableBorder.getDefaultCell().setBorderWidth(1);
tableBorder.setWidthPercentage(100);
tableBorder.addCell(tableMain);
tableBorder.addCell(tableMainGehalt);
main.add(tableBorder);
//ende main
PdfPTable header1 = new PdfPTable(1);
PdfPCell cell = new PdfPCell(new Phrase(" ", FontFactory.getFont(FontFactory.HELVETICA, 54)));
cell.setBorder(Rectangle.NO_BORDER);
cell.setBorderWidth(0);
header1.addCell(cell);
header1.setTotalWidth(document.getPageSize().getWidth() - document.leftMargin() - document.rightMargin());
document.add(header1);
document.add(header2);
document.add(adresse);
document.add(main);
}
public enum PDF{
NICHTS, ANZEIGEN, DRUCKEN, ANZEIGEN_DRUCKEN
}
}