Package AlMaGe.export

Source Code of AlMaGe.export.PDFExport

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
    }
}
TOP

Related Classes of AlMaGe.export.PDFExport

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.