Example usage for com.itextpdf.text.pdf PdfPTable setWidths

List of usage examples for com.itextpdf.text.pdf PdfPTable setWidths

Introduction

In this page you can find the example usage for com.itextpdf.text.pdf PdfPTable setWidths.

Prototype

public void setWidths(final int relativeWidths[]) throws DocumentException 

Source Link

Document

Sets the relative widths of the table.

Usage

From source file:utilities.itext.Turnover.java

private static Paragraph createTablesWithDetails(ArrayList<PaymentPosition> data) throws DocumentException {
    Paragraph paragraph = new Paragraph();

    PdfPTable expense = new PdfPTable(2);
    float[] colWidths = { 5f, 1f };
    expense.setWidths(colWidths);

    int lastPaymentID = 0;
    for (PaymentPosition pp : data) {
        if (lastPaymentID != pp.getPayment().getId()) {
            //new Payment
            Paragraph p1 = new Paragraph(pp.getPayment().getPayee().getName());
            PdfPCell c1 = new PdfPCell(p1);

            //add next cell with price
            //calc price
            BigDecimal totalPrice = new BigDecimal(BigInteger.ZERO);
            for (PaymentPosition payPos : data) {
                if (payPos.getPayment().getId() == pp.getPayment().getId()) {
                    totalPrice = totalPrice.add(payPos.getTotalPrice());
                }//from   w w  w  .  j  ava 2s.co m
            }
            Paragraph p2 = new Paragraph(totalPrice.toPlainString());
            PdfPCell c2 = new PdfPCell(p2);

            c1.setBorder(Rectangle.NO_BORDER);
            c1.setBorderWidthTop(0.5f);
            c2.setBorder(Rectangle.NO_BORDER);
            c2.setBorderWidthTop(0.5f);

            expense.addCell(c1);
            expense.addCell(c2);
        }

        //payment position
        Paragraph p1 = new Paragraph("            " + pp.getQuantity() + "x: " + pp.getArticle().getName());
        PdfPCell c1 = new PdfPCell(p1);

        //add next cell with price
        Paragraph p2 = new Paragraph(pp.getTotalPriceAsString());
        PdfPCell c2 = new PdfPCell(p2);

        c1.setBorder(Rectangle.NO_BORDER);
        c2.setBorder(Rectangle.NO_BORDER);

        expense.addCell(c1);
        expense.addCell(c2);

        lastPaymentID = pp.getPayment().getId();
    }

    paragraph.add(expense);

    paragraph.setSpacingBefore(10f);

    return paragraph;
}

From source file:views.Clientes.java

private void btnImprimirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnImprimirActionPerformed
    try {//ww w. j  a va2 s  . c om
        OutputStream file = new FileOutputStream(new File("C:\\CuotaSoft\\Historial.pdf"));
        Document document = new Document();
        PdfWriter writer;

        writer = PdfWriter.getInstance(document, file);

        document.open();
        // Se agrega titulo y datos del cliente
        Paragraph p = new Paragraph("Historial de Cliente \n",
                FontFactory.getFont("Arial", 16, Font.BOLD, BaseColor.BLACK));
        p.setAlignment(Element.ALIGN_CENTER);
        Paragraph pNumero = new Paragraph("N Cliente: " + txtNroCliente.getText(),
                FontFactory.getFont("Arial", 12, Font.NORMAL, BaseColor.BLACK));
        Paragraph pNombre = new Paragraph(
                "Nombre Cliente: " + txtNombre.getText() + " " + txtApellido.getText(),
                FontFactory.getFont("Arial", 12, Font.NORMAL, BaseColor.BLACK));
        Paragraph pProductos = new Paragraph("Productos Comprados: ",
                FontFactory.getFont("Arial", 14, Font.BOLD, BaseColor.BLACK));
        pProductos.setAlignment(Element.ALIGN_CENTER);
        Paragraph pSaldo = new Paragraph("Saldo:  $" + txtSaldo.getText(),
                FontFactory.getFont("Arial", 14, Font.BOLD, BaseColor.BLACK));
        pSaldo.setAlignment(Element.ALIGN_RIGHT);
        //se agregan paragraphs
        document.add(p);
        document.add(pNumero);
        document.add(pNombre);
        document.add(pSaldo);
        document.add(new Paragraph("\n"));
        document.add(pProductos);
        document.add(new Paragraph("\n"));

        //se agrega tabla productos
        PdfPTable pTablaProducto = new PdfPTable(4);

        float[] mediaCeldasProductos = { 3.30f, 3.50f, 3.50f, 3.70f };

        pTablaProducto.setWidths(mediaCeldasProductos);
        pTablaProducto.addCell(new Paragraph("Producto", FontFactory.getFont("Arial", 12)));
        pTablaProducto.addCell(new Paragraph("Cantidad", FontFactory.getFont("Arial", 12)));
        pTablaProducto.addCell(new Paragraph("Precio", FontFactory.getFont("Arial", 12)));
        pTablaProducto.addCell(new Paragraph("Total", FontFactory.getFont("Arial", 12)));

        ArrayList<Venta> listaProductos = ctrlVenta.listByCliente(Integer.parseInt(txtID.getText()));

        for (Venta v : listaProductos) {
            Producto prod = ctrlProducto.buscarPorID(v.getProducto().getIdProducto());

            pTablaProducto.addCell(new Paragraph(prod.getNombreProducto(), FontFactory.getFont("Arial", 10)));
            pTablaProducto.addCell(
                    new Paragraph(String.valueOf(v.getCantidadVenta()), FontFactory.getFont("Arial", 10)));
            pTablaProducto.addCell(new Paragraph("$" + String.valueOf(prod.getPrecioProducto()),
                    FontFactory.getFont("Arial", 10)));
            pTablaProducto.addCell(
                    new Paragraph("$" + String.valueOf(v.getMontoVenta()), FontFactory.getFont("Arial", 10)));

        }

        document.add(pTablaProducto);

        Paragraph pTotalCompra = new Paragraph("Total Compras: " + txtTotalCompras.getText(),
                FontFactory.getFont("Arial", 12, Font.BOLD, BaseColor.BLACK));
        pTotalCompra.setAlignment(Element.ALIGN_RIGHT);
        document.add(pTotalCompra);
        document.add(new Paragraph("\n"));

        Paragraph pAbonos = new Paragraph("Abonos: ",
                FontFactory.getFont("Arial", 14, Font.BOLD, BaseColor.BLACK));
        pAbonos.setAlignment(Element.ALIGN_CENTER);

        document.add(pAbonos);

        document.add(new Paragraph("\n"));
        PdfPTable tablaAbonos = new PdfPTable(3);

        float[] mediaCeldasAbonos = { 3.30f, 3.50f, 3.50f };

        tablaAbonos.setWidths(mediaCeldasAbonos);
        tablaAbonos.addCell(new Paragraph("Fecha", FontFactory.getFont("Arial", 12)));
        tablaAbonos.addCell(new Paragraph("Monto", FontFactory.getFont("Arial", 12)));
        tablaAbonos.addCell(new Paragraph("Saldo", FontFactory.getFont("Arial", 12)));

        ArrayList<Abono> listaAbonos = ctrlAbono.listByCliente(txtID.getText());
        SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");

        if (listaAbonos.size() > 0) {
            for (Abono a : listaAbonos) {

                tablaAbonos.addCell(
                        new Paragraph(sdf.format(a.getFechaAbono()), FontFactory.getFont("Arial", 10)));
                tablaAbonos.addCell(new Paragraph("$" + String.valueOf(a.getMontoAbono()),
                        FontFactory.getFont("Arial", 10)));
                tablaAbonos.addCell(new Paragraph("$" + String.valueOf(a.getSaldoAbono()),
                        FontFactory.getFont("Arial", 10)));
            }

        }
        document.add(tablaAbonos);

        document.close();
        file.close();

    } catch (FileNotFoundException ex) {
        Logger.getLogger(Clientes.class.getName()).log(Level.SEVERE, null, ex);
    } catch (DocumentException ex) {
        Logger.getLogger(Clientes.class.getName()).log(Level.SEVERE, null, ex);
    } catch (IOException ex) {
        Logger.getLogger(Clientes.class.getName()).log(Level.SEVERE, null, ex);
    } catch (Exception ex) {
        Logger.getLogger(Clientes.class.getName()).log(Level.SEVERE, null, ex);
    }

    try {
        File file = new File("C:\\CuotaSoft\\Historial.pdf");
        Desktop.getDesktop().open(file);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:Vista.GenerarPDF.java

private void btngenerarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btngenerarActionPerformed
    String nave = "" + cmbtiponave.getSelectedItem();
    String ruta = txtruta.getText();
    try {/*w w  w  .  j  a  v a 2 s  .c o  m*/
        FileOutputStream archivo = new FileOutputStream(ruta + ".pdf");

        Document doc = new Document();
        PdfWriter.getInstance(doc, archivo);
        doc.open();
        Paragraph parrafo2 = new Paragraph("INFORME DE MANTENIMIENTOS");
        parrafo2.setAlignment(1);//el 1 es para centrar
        doc.add(parrafo2);

        doc.add(new Phrase(Chunk.NEWLINE));
        doc.add(new Phrase(Chunk.NEWLINE));

        doc.add(new Paragraph(
                "Acontinuacion se muestra una lista de los mantenimientos realizados a la aeronave " + nave
                        + ""));
        doc.add(new Phrase(Chunk.NEWLINE));
        PdfPTable tabla = new PdfPTable(6);
        tabla.setHorizontalAlignment(Element.ALIGN_CENTER);
        tabla.setTotalWidth(PageSize.A4.getWidth() - 10);
        //el numero indica la cantidad de Columnas

        tabla.addCell("ID");
        tabla.addCell("Matricula");
        tabla.addCell("Estado");
        tabla.addCell("Tareas");
        tabla.addCell("Fecha inicio");
        tabla.addCell("Fecha termino");
        tabla.setWidths(new int[] { 1, 2, 4, 4, 3, 3 });
        Administrar_Mantenimientos av = new Administrar_Mantenimientos();

        ArrayList<Detalle_Mantenimiento> listaMantenimientos = av.listarMantenimientosMatricula(nave);
        for (int i = 0; i < listaMantenimientos.size(); i++) {
            tabla.addCell(String.valueOf(listaMantenimientos.get(i).getId()));
            tabla.addCell(listaMantenimientos.get(i).getMatricula());
            tabla.addCell(listaMantenimientos.get(i).getEstado());
            tabla.addCell(listaMantenimientos.get(i).getTareas_seleccionadas());
            tabla.addCell(listaMantenimientos.get(i).getFecha_inicio());
            tabla.addCell(listaMantenimientos.get(i).getFecha_termino());
        }

        // esto nos crea una tabla de 3 Columnas por 2 Filas
        doc.add(tabla);
        doc.close();
        JOptionPane.showMessageDialog(null, "PDF CREADO CON EXITO");

    } catch (Exception e) {
        System.out.println("error" + e);
    }

}

From source file:windows.wzListWindow.java

private void printDocActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_printDocActionPerformed
    Document document = new Document();
    Footer ft = new Footer();
    companyAdress comp = new companyAdress();

    try {//  w ww.ja va2  s .  co m
        BaseFont ft1 = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1250, BaseFont.EMBEDDED);
        Font ffont = new Font(ft1, 12);

        BaseFont ft3 = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1250, BaseFont.EMBEDDED);
        Font bold = new Font(ft1, 12, Font.BOLD);
        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("test.pdf"));
        document.open();
        Paragraph pr = new Paragraph();
        pr.setFont(ffont);
        writer.setPageEvent(ft);
        ContractorEntity contractor = wz
                .getContractor(Integer.valueOf(WZTable.getValueAt(WZTable.getSelectedRow(), 2).toString()));
        pr.add(WZTable.getValueAt(WZTable.getSelectedRow(), 4).toString());
        pr.setAlignment(Element.ALIGN_RIGHT);
        document.add(pr);
        pr.clear();
        if ("SPRZT WYDANY".equals(WZTable.getValueAt(WZTable.getSelectedRow(), 11).toString())) {
            Paragraph nr = new Paragraph("WYADNIE SPRZTU NR ", ffont);
            String yearSlashnr = WZTable.getValueAt(WZTable.getSelectedRow(), 1).toString();
            nr.add(new Chunk(yearSlashnr, bold));
            nr.setAlignment(Element.ALIGN_LEFT);
            document.add(nr);
            if ("WS".equals(WZTable.getValueAt(WZTable.getSelectedRow(), 12).toString())) {
                pr.setAlignment(Element.ALIGN_LEFT);
                DocEntity docPS = wz.getDocument(wz.getPSForWs(
                        Integer.valueOf(WZTable.getValueAt(WZTable.getSelectedRow(), 0).toString())));
                pr.add("DOTYCZY: PS NR " + docPS.getDocNumber());
                document.add(pr);
                pr.clear();
                pr.setAlignment(Element.ALIGN_RIGHT);
            }
        }

        if ("SPRZT PRZYJTY".equals(WZTable.getValueAt(WZTable.getSelectedRow(), 11).toString())) {
            int rok = Timestamp.valueOf(WZTable.getValueAt(WZTable.getSelectedRow(), 4).toString()).getYear()
                    + 1900;
            Paragraph nr = new Paragraph("PRZYJCIE SPRZTU NR ", ffont);
            String yearSlashnr = rok + "/" + WZTable.getValueAt(WZTable.getSelectedRow(), 1).toString();
            nr.add(new Chunk(yearSlashnr, bold));
            nr.setAlignment(Element.ALIGN_LEFT);
            document.add(nr);
        }
        pr.clear();
        pr.add(Chunk.NEWLINE);
        pr.add(Chunk.NEWLINE);
        document.add(pr);
        pr.clear();
        pr.setAlignment(Element.ALIGN_LEFT);
        pr.add(comp.getName());
        pr.add(Chunk.NEWLINE);
        pr.add("ul. " + comp.getStreet());
        pr.add(Chunk.NEWLINE);
        pr.add(comp.getPostal() + " " + comp.getCity());
        pr.add(Chunk.NEWLINE);
        pr.add("NIP: " + comp.getNip());
        pr.add(Chunk.NEWLINE);
        pr.add("Tel: " + comp.getPhone());
        pr.add(Chunk.NEWLINE);
        pr.add("Fax: " + comp.getFax());
        pr.add(Chunk.NEWLINE);
        pr.add("E-mail: " + comp.getEmail());
        pr.add(Chunk.NEWLINE);
        pr.add(Chunk.NEWLINE);
        pr.add("KLIENT:");
        pr.add(Chunk.NEWLINE);
        pr.add(contractor.getName());
        pr.add(Chunk.NEWLINE);
        pr.add("ul. " + contractor.getStreet());
        pr.add(Chunk.NEWLINE);
        pr.add(contractor.getPostalCode() + " " + contractor.getCity());
        pr.add(Chunk.NEWLINE);
        pr.add("NIP: " + contractor.getNip());
        pr.add(Chunk.NEWLINE);
        pr.add("Tel: " + contractor.getPhone());
        pr.add(Chunk.NEWLINE);
        pr.add("E-mail: " + contractor.getEmail());
        document.add(pr);

        pr.clear();
        pr.add(Chunk.NEWLINE);
        pr.add(Chunk.NEWLINE);
        pr.add("PRZYJTE URZDZENIA:");
        document.add(pr);

        //PUT IMAGE FROM DRIVE
        java.awt.Image awtImage = Toolkit.getDefaultToolkit().createImage("C:/GIT/support/logo.jpg");
        Image img = com.itextpdf.text.Image.getInstance(awtImage, null);
        int indentation = 0;
        float scaler = ((document.getPageSize().getWidth() - document.leftMargin() - document.rightMargin()
                - indentation) / img.getWidth()) * 20;
        img.scalePercent(scaler);
        img.setAbsolutePosition(document.right() - 90, document.top() - 150);
        document.add(new Paragraph());
        document.add(img);

        //ADD TABLE

        PdfPTable table = new PdfPTable(7); // 3 columns.
        table.setWidthPercentage(100); //Width 100%
        table.setSpacingBefore(10f); //Space before table
        table.setSpacingAfter(10f); //Space after table
        //Set Column widths
        float[] columnWidths = { 1f, 4f, 3f, 2f, 2f, 6f, 6f };
        table.setWidths(columnWidths);
        BaseFont ft2 = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1250, BaseFont.EMBEDDED);
        Font headerFont = new Font(ft2, 9);
        Paragraph pos1 = new Paragraph("", headerFont);
        Paragraph pos2 = new Paragraph("", headerFont);
        Paragraph pos3 = new Paragraph("", headerFont);
        Paragraph pos4 = new Paragraph("", headerFont);
        Paragraph pos5 = new Paragraph("", headerFont);
        Paragraph pos6 = new Paragraph("", headerFont);
        Paragraph pos7 = new Paragraph("", headerFont);

        //FORMATING TABLE
        pos1.clear();
        pos1.add("LP");
        PdfPCell cell1 = new PdfPCell(pos1);
        cell1.setBorderColor(BaseColor.BLACK);
        cell1.setBackgroundColor(BaseColor.LIGHT_GRAY);
        cell1.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell1.setVerticalAlignment(Element.ALIGN_MIDDLE);
        table.addCell(cell1);
        pos2.clear();
        pos2.add("NAZWA");
        PdfPCell cell2 = new PdfPCell(pos2);
        cell2.setBorderColor(BaseColor.BLACK);
        cell2.setBackgroundColor(BaseColor.LIGHT_GRAY);
        cell2.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell2.setVerticalAlignment(Element.ALIGN_MIDDLE);
        table.addCell(cell2);
        pos3.clear();
        pos3.add("NR SERYJNY");
        PdfPCell cell3 = new PdfPCell(pos3);
        cell3.setBorderColor(BaseColor.BLACK);
        cell3.setBackgroundColor(BaseColor.LIGHT_GRAY);
        cell3.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell3.setVerticalAlignment(Element.ALIGN_MIDDLE);
        table.addCell(cell3);
        pos4.clear();
        pos4.add("CENA NETTO");
        PdfPCell cell4 = new PdfPCell(pos4);
        cell4.setBorderColor(BaseColor.BLACK);
        cell4.setBackgroundColor(BaseColor.LIGHT_GRAY);
        cell4.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell4.setVerticalAlignment(Element.ALIGN_MIDDLE);
        table.addCell(cell4);
        pos5.clear();
        pos5.add("CENA BRUTTO");
        PdfPCell cell5 = new PdfPCell(pos5);
        cell5.setBorderColor(BaseColor.BLACK);
        cell5.setBackgroundColor(BaseColor.LIGHT_GRAY);
        cell5.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell5.setVerticalAlignment(Element.ALIGN_MIDDLE);
        table.addCell(cell5);
        pos6.clear();
        pos6.add("PROBLEM");
        PdfPCell cell6 = new PdfPCell(pos6);
        cell6.setBorderColor(BaseColor.BLACK);
        cell6.setBackgroundColor(BaseColor.LIGHT_GRAY);
        cell6.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell6.setVerticalAlignment(Element.ALIGN_MIDDLE);
        table.addCell(cell6);
        pos7.clear();
        pos7.add("NAPRAWA");
        PdfPCell cell7 = new PdfPCell(pos7);
        cell7.setBorderColor(BaseColor.BLACK);
        cell7.setBackgroundColor(BaseColor.LIGHT_GRAY);
        cell7.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell7.setVerticalAlignment(Element.ALIGN_MIDDLE);
        table.addCell(cell7);

        cell2.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell3.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell4.setHorizontalAlignment(Element.ALIGN_RIGHT);
        cell5.setHorizontalAlignment(Element.ALIGN_RIGHT);
        cell6.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell7.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell1.setBackgroundColor(BaseColor.WHITE);
        cell2.setBackgroundColor(BaseColor.WHITE);
        cell3.setBackgroundColor(BaseColor.WHITE);
        cell4.setBackgroundColor(BaseColor.WHITE);
        cell5.setBackgroundColor(BaseColor.WHITE);
        cell6.setBackgroundColor(BaseColor.WHITE);
        cell7.setBackgroundColor(BaseColor.WHITE);
        int counter = 1;
        for (DocProductEntity prod : productToShow) {
            //col 1 (LP)
            table.addCell(createCell("" + counter, Element.ALIGN_CENTER));
            counter++;
            //col 2 (NAME)
            table.addCell(createCell(prod.getName(), Element.ALIGN_LEFT));
            //col 3 (NR SER)
            table.addCell(createCell(prod.getSerial(), Element.ALIGN_CENTER));
            //col 4 (NETTO)
            table.addCell(createCell(String.valueOf(prod.getPrice()), Element.ALIGN_RIGHT));
            //col 5 (BRUTTO)
            table.addCell(createCell(String.valueOf(prod.getPrice() + (prod.getPrice() * 0.23)),
                    Element.ALIGN_RIGHT));
            //col 6 (PROBLEM)
            table.addCell(createCell(prod.getProblem(), Element.ALIGN_LEFT));
            //col 7 (REPAIRS)
            table.addCell(createCell(prod.getRepair(), Element.ALIGN_LEFT));
        }
        document.add(table);
        pr.setAlignment(Element.ALIGN_RIGHT);
        pr.clear();
        pr.add("PRZEWIDYWANIY KOSZT NAPRAWY:");
        document.add(pr);
        pr.clear();
        pr.add("Razem netto: " + nettoLabel.getText() + " Razem brutto: " + bruttoLabel.getText());
        document.add(pr);
        pr.clear();
        pr.add("Sownie: " + amountInWords(Float.valueOf(bruttoLabel.getText().replace(",", "."))));
        document.add(pr);
        pr.clear();
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        pr.add(".................................................");
        document.add(pr);
        pr.clear();
        pr.add("Podpis i piecztka pracownika");
        document.add(pr);
        if ("SPRZT WYDANY".equals(WZTable.getValueAt(WZTable.getSelectedRow(), 11).toString())) {
            pr.clear();
            pr.add(Chunk.NEWLINE);
            pr.add(Chunk.NEWLINE);
            pr.add(".................................................");
            document.add(pr);
            pr.clear();
            pr.add("Sprzt odebraem (Podpis klienta)");
            document.add(pr);
        }
        //CLOSING DOCUMENT
        document.close();
        writer.close();

    } catch (DocumentException e) {
        e.printStackTrace();
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

    try {
        StampPageXofY numeration = new StampPageXofY();
        tempName = nowTimestamp();
        numeration.manipulatePdf("test.pdf", tempName + ".pdf");
    } catch (IOException ex) {
        Logger.getLogger(MainWindow.class.getName()).log(Level.SEVERE, null, ex);
    } catch (DocumentException ex) {
        Logger.getLogger(MainWindow.class.getName()).log(Level.SEVERE, null, ex);
    }
    //OPEN READY DOCUMENT
    try {
        Desktop.getDesktop().open(new File(tempName + ".pdf"));
    } catch (IOException ex) {
        Logger.getLogger(MainWindow.class.getName()).log(Level.SEVERE, null, ex);
    }
}

From source file:zeugnis.ZeugnisPDF.java

/**
* Erzeugt das Zeugnis PDF in einem definierten Ordner
* @throws IOException//  ww w .  ja v  a 2 s .com
* @throws DocumentException
* @throws SQLException 
*/
public void CreatePDF() throws IOException, DocumentException, SQLException {
    float pad = 6.0f;

    // Einige Strings fr die Ausgabe...
    String Schuljahr = "Schuljahr " + Integer.toString(schuljahr) + "/" + Integer.toString(schuljahr + 1);
    String Halbjahr;
    if (halbjahr == 1) {
        Halbjahr = "1. Halbjahr";
    } else {
        Halbjahr = "1. und 2. Halbjahr";
    }
    String Klasse = "Klasse " + klasse;

    String Tage = "Versumte Unterrichtstage im " + Halbjahr + ": " + String.valueOf(fehltage)
            + " davon unentschuldigt: " + String.valueOf(fehltageohne);
    String Unterschriften1 = "________________________________________\n\n Klassenlehrerin / Klassenlehrer";
    String Unterschriften2 = "________________________________________\n\n Schulleiterin / Schulleiter";
    String Unterschriften3 = "________________________________________\n\n Unterschrift einer/eines Erziehungsberechtigten";
    String DatumLine = "________________________________________\n\n Ausstellungsort und Datum";

    //    String Datum = "Datum: " + currDate;
    String Datum = currDate;

    String AundS = "Arbeits- und Sozialverhalten";
    String ATitle = "Arbeitsverhalten\n\n" + vorname + "...";
    String STitle = "Sozialverhalten\n\n" + vorname + "...";
    String Selten = "selten";
    String Wechselnd = "wechselnd";
    String Ueberwiegend = "berwiegend";

    String Erklaerungen = "Erklrungen";
    String BewertungsstufenAS = "Bewertungsstufen fr das Arbeits- und Sozialverhalten:";
    String Symbole = "Symbolerluterungen fr die Unterrichtsfcher:";

    String Sym0 = "Das Thema wurde noch nicht bearbeitet";
    String Sym1 = "Die Kompetenz ist in Anstzen vorhanden";
    String Sym2 = "Die Kompetenz ist grundlegend gesichert";
    String Sym3 = "Die Kompetenz ist weitgehend gesichert";
    String Sym4 = "Die Kompetenz ist gesichert";

    String deutschS = "Deutsch ";
    String matheS = "Mathematik ";
    String sachunterrichtS = "Sachunterricht ";
    String musikS = "Musik ";
    String religionS = "Religion ";
    String kunstS = "Kunst ";
    String sportS = "Sport ";
    String textilS = "Textiles Gestalten ";
    String werkenS = "Werken ";
    String englischS = "Englisch ";

    //        String jStufe   = "Jahrgangsstufe "+ Gui.getSClass().substring(0, 1);
    String jStufe = "";
    String sz = "Sprechen und Zuhren\n\n" + vorname + "...";
    String sch = "Schreiben\n\n" + vorname + "...";
    String les = "Lesen - mit Texten und Medien umgehen\n\n" + vorname + "...";
    String sp = "Sprache und Sprachgebrauch untersuchen\n\n" + vorname + "...";
    String zo = "Zahlen und Operationen\n\n" + vorname + "...";
    String gm = "Gren und Messen\n\n" + vorname + "...";
    String rf = "Raum und Form\n\n" + vorname + "...";
    String su = vorname + "...";

    // Ausgabedokument erzeugen
    Document doc = new Document(PageSize.A4, 50, 50, 20, 30);
    PdfWriter writer = PdfWriter.getInstance(doc, new FileOutputStream(file));

    // Fr header und footer
    TableHeader event = new TableHeader();
    event.setHeader("");
    writer.setPageEvent(event);

    doc.open();
    // Logo
    //        URL url = this.getClass().getResource("pics/GSBrelingen.jpg");
    URL url = this.getClass().getResource("pics/GSKopfLogo300.png");
    Image img = Image.getInstance(url);
    double moremargin = doc.getPageSize().getWidth() * 0.0;
    float scaler = ((doc.getPageSize().getWidth() - doc.leftMargin() - doc.rightMargin() - (float) moremargin)
            / img.getWidth()) * 100;
    img.scalePercent(scaler * 0.7f);

    // Seite 1 *************************************************************
    // Tablestruktur aufbauen...
    PdfPTable table1 = new PdfPTable(new float[] { 36, 28, 36 });
    table1.setWidthPercentage(100);

    PdfPCell cell1Logo;
    cell1Logo = new PdfPCell(img);
    cell1Logo.setColspan(3);
    cell1Logo.setHorizontalAlignment(Element.ALIGN_CENTER);
    cell1Logo.setBorder(Rectangle.NO_BORDER);

    // Adresse
    PdfPCell cell1Adresse;
    cell1Adresse = new PdfPCell(new Phrase(
            "Grundschule Brelingen  Schulstrae 10  30900 Wedemark  GS.Brelingen@Wedemark.de",
            SMALL_FONT));
    cell1Adresse.setColspan(3);
    cell1Adresse.setFixedHeight(30f);
    cell1Adresse.setHorizontalAlignment(Element.ALIGN_CENTER);
    cell1Adresse.setBorder(Rectangle.NO_BORDER);

    //Zeugnis
    PdfPCell cell1Zeugnis;
    cell1Zeugnis = new PdfPCell(new Phrase("Zeugnis", BIG_FONT));
    cell1Zeugnis.setColspan(3);
    cell1Zeugnis.setFixedHeight(40f);
    cell1Zeugnis.setVerticalAlignment(Element.ALIGN_BOTTOM);
    cell1Zeugnis.setHorizontalAlignment(Element.ALIGN_CENTER);
    cell1Zeugnis.setBorder(Rectangle.NO_BORDER);

    //Schuljahr
    PdfPCell cell1Schuljahr;
    cell1Schuljahr = new PdfPCell(new Phrase(Schuljahr, BIGGER_FONT));
    cell1Schuljahr.setFixedHeight(30f);
    cell1Schuljahr.setVerticalAlignment(Element.ALIGN_BOTTOM);
    cell1Schuljahr.setHorizontalAlignment(Element.ALIGN_LEFT);
    cell1Schuljahr.setBorder(Rectangle.NO_BORDER);

    //Halbjahr
    PdfPCell cell1Halbjahr;
    cell1Halbjahr = new PdfPCell(new Phrase(Halbjahr, BIGGER_FONT));
    cell1Halbjahr.setFixedHeight(30f);
    cell1Halbjahr.setVerticalAlignment(Element.ALIGN_BOTTOM);
    cell1Halbjahr.setHorizontalAlignment(Element.ALIGN_CENTER);
    cell1Halbjahr.setBorder(Rectangle.NO_BORDER);

    //Klasse
    PdfPCell cell1Klasse;
    cell1Klasse = new PdfPCell(new Phrase(Klasse, BIGGER_FONT));
    cell1Klasse.setFixedHeight(30f);
    cell1Klasse.setVerticalAlignment(Element.ALIGN_BOTTOM);
    cell1Klasse.setHorizontalAlignment(Element.ALIGN_RIGHT);
    cell1Klasse.setBorder(Rectangle.NO_BORDER);

    //Name
    PdfPCell cell1Name;
    cell1Name = new PdfPCell(new Phrase(vorname + " " + name, NAME_FONT));
    cell1Name.setColspan(3);
    cell1Name.setFixedHeight(40f);
    cell1Name.setVerticalAlignment(Element.ALIGN_BOTTOM);
    cell1Name.setHorizontalAlignment(Element.ALIGN_CENTER);
    cell1Name.setBorder(Rectangle.NO_BORDER);

    //Geboren
    PdfPCell cell1Geboren;
    cell1Geboren = new PdfPCell(new Phrase("geboren am " + gebdatum + " in " + gebort, NORMAL_FONT));
    cell1Geboren.setColspan(3);
    cell1Geboren.setFixedHeight(20f);
    cell1Geboren.setVerticalAlignment(Element.ALIGN_TOP);
    cell1Geboren.setHorizontalAlignment(Element.ALIGN_CENTER);
    cell1Geboren.setBorder(Rectangle.NO_BORDER);

    //Tage
    PdfPCell cell1Tage;
    cell1Tage = new PdfPCell(new Phrase(Tage, SMALL_FONT));
    cell1Tage.setColspan(3);
    cell1Tage.setFixedHeight(50f);
    cell1Tage.setVerticalAlignment(Element.ALIGN_TOP);
    cell1Tage.setHorizontalAlignment(Element.ALIGN_CENTER);
    cell1Tage.setBorder(Rectangle.NO_BORDER);

    //Lernentwicklung
    Paragraph lern = new Paragraph();
    Paragraph bem = new Paragraph();
    PdfPTable table = new PdfPTable(1);
    Phrase lernTitle = new Phrase(lernentwicklungTitle, SMALLBOLDITALIC2_FONT);
    Phrase bemTitle = new Phrase(bemerkungenTitle, SMALLBOLDITALIC2_FONT);
    Phrase lernText = new Phrase(lernentwicklung, SMALL2_FONT);
    Phrase bemText = new Phrase(bemerkungen, SMALL2_FONT);
    if (lernentwicklung.isEmpty()) {
        ;
    } else {
        lern.add(lernTitle);
    }
    if (bemerkungen.isEmpty()) {
        ;
    } else {
        bem.add(bemTitle);
    }
    lern.add(lernText);
    bem.add(bemText);
    PdfPCell le = new PdfPCell(lern);
    PdfPCell be = new PdfPCell(bem);

    le.setVerticalAlignment(Element.ALIGN_TOP);
    be.setVerticalAlignment(Element.ALIGN_BOTTOM);
    le.setBorder(Rectangle.NO_BORDER);
    be.setBorder(Rectangle.NO_BORDER);
    table.addCell(le);
    table.addCell(be);
    PdfPCell cell1Lernentwicklung;
    cell1Lernentwicklung = new PdfPCell(table);
    cell1Lernentwicklung.setColspan(3);
    cell1Lernentwicklung.setHorizontalAlignment(Element.ALIGN_LEFT);
    cell1Lernentwicklung.setFixedHeight(350f);
    cell1Lernentwicklung.setPadding(pad);
    //        cell1Lernentwicklung.setBorder(Rectangle.NO_BORDER);

    // Unterschriften
    PdfPCell cell1Unterschriften1;
    cell1Unterschriften1 = new PdfPCell(new Phrase(Unterschriften1, MICRO_FONT));
    //cell1Unterschriften.setColspan(3);
    cell1Unterschriften1.setHorizontalAlignment(Element.ALIGN_CENTER);
    cell1Unterschriften1.setVerticalAlignment(Element.ALIGN_BOTTOM);
    cell1Unterschriften1.setFixedHeight(70f);
    cell1Unterschriften1.setBorder(Rectangle.NO_BORDER);

    PdfPCell cell1Empty;
    cell1Empty = new PdfPCell(new Phrase("", SMALL_FONT));
    //cell1Unterschriften.setColspan(3);
    cell1Empty.setFixedHeight(70f);
    cell1Empty.setBorder(Rectangle.NO_BORDER);

    PdfPCell cell1Unterschriften2;
    cell1Unterschriften2 = new PdfPCell(new Phrase(Unterschriften2, MICRO_FONT));
    //cell1Unterschriften2.setColspan(2);
    cell1Unterschriften2.setHorizontalAlignment(Element.ALIGN_CENTER);
    cell1Unterschriften2.setVerticalAlignment(Element.ALIGN_BOTTOM);
    cell1Unterschriften2.setFixedHeight(70f);
    cell1Unterschriften2.setBorder(Rectangle.NO_BORDER);

    PdfPCell cell1Datum;
    if (Gui.isOverwriteDateSelected()) {
        if (Gui.getOverwriteDate().isEmpty()) {
            Datum = "     ......................";
        } else {
            Datum = Gui.getOverwriteDate();
        }
    }
    Phrase p1 = new Phrase("Brelingen, den " + Datum + "\n", SMALL_FONT);
    Phrase p2 = new Phrase(DatumLine, MICRO_FONT);
    Paragraph par1 = new Paragraph(p1);
    par1.add(p2);
    cell1Datum = new PdfPCell(par1);
    //cell1Datum.addElement(p1);
    //cell1Datum.addElement(p2);
    //cell1Unterschriften.setColspan(3);
    cell1Datum.setHorizontalAlignment(Element.ALIGN_CENTER);
    cell1Datum.setVerticalAlignment(Element.ALIGN_BOTTOM);
    cell1Datum.setFixedHeight(60f);
    cell1Datum.setBorder(Rectangle.NO_BORDER);

    PdfPCell cell1Gesehen;
    cell1Gesehen = new PdfPCell(new Phrase("", NORMAL_FONT));
    cell1Gesehen.setHorizontalAlignment(Element.ALIGN_RIGHT);
    cell1Gesehen.setVerticalAlignment(Element.ALIGN_CENTER);
    //cell1Unterschriften.setColspan(3);
    cell1Gesehen.setFixedHeight(60f);
    cell1Gesehen.setBorder(Rectangle.NO_BORDER);

    PdfPCell cell1Unterschriften3;
    Phrase p3 = new Phrase("gesehen:                                             \u00a0\n", TINY_FONT);
    Phrase p4 = new Phrase(Unterschriften3, MICRO_FONT);
    Paragraph par2 = new Paragraph(p3);
    par2.add(p4);
    cell1Unterschriften3 = new PdfPCell(par2);
    //cell1Unterschriften3.setColspan(2);
    cell1Unterschriften3.setHorizontalAlignment(Element.ALIGN_CENTER);
    cell1Unterschriften3.setVerticalAlignment(Element.ALIGN_BOTTOM);
    cell1Unterschriften3.setFixedHeight(60f);
    cell1Unterschriften3.setBorder(Rectangle.NO_BORDER);

    table1.addCell(cell1Logo);
    table1.addCell(cell1Adresse);
    table1.addCell(cell1Zeugnis);
    table1.addCell(cell1Schuljahr);
    table1.addCell(cell1Halbjahr);
    table1.addCell(cell1Klasse);
    table1.addCell(cell1Name);
    table1.addCell(cell1Geboren);
    table1.addCell(cell1Tage);
    table1.addCell(cell1Lernentwicklung);
    table1.addCell(cell1Unterschriften1);
    table1.addCell(cell1Empty);
    table1.addCell(cell1Unterschriften2);
    table1.addCell(cell1Datum);
    table1.addCell(cell1Gesehen);
    table1.addCell(cell1Unterschriften3);

    doc.add(table1);

    doc.newPage();

    // Seite 2 *************************************************************
    String head = vorname + " " + name + ", geboren am " + gebdatum;
    event.setHeader(head);
    // Tablestruktur aufbauen...
    pad = 3.0f;
    PdfPTable table2 = new PdfPTable(4);
    table2.setWidths(new float[] { 58, 14, 14, 14 });
    table2.setWidthPercentage(100);

    PdfPCell cell2Header = emptyLine(4, 10f);
    PdfPCell cell2AundS = new PdfPCell(title1(AundS, 4, 35f));
    PdfPCell cell2ATitle = new PdfPCell(title2(ATitle, 1, 50f, pad));

    PdfPCell cell2Selten = new PdfPCell(seweue(Selten, pad));
    PdfPCell cell2Wechselnd = new PdfPCell(seweue(Wechselnd, pad));
    PdfPCell cell2Ueberwiegend = new PdfPCell(seweue(Ueberwiegend, pad));

    table2.addCell(cell2Header);
    table2.addCell(cell2AundS);
    table2.addCell(cell2ATitle);
    table2.addCell(cell2Selten);
    table2.addCell(cell2Wechselnd);
    table2.addCell(cell2Ueberwiegend);

    table2 = asVerhalten(table2, aVerhalten, pad);

    PdfPCell cell2KommentarA;
    cell2KommentarA = new PdfPCell(new Paragraph(textArbeit, TINYITALIC_FONT));
    cell2KommentarA.setColspan(4);
    cell2KommentarA.setBorder(Rectangle.LEFT | Rectangle.RIGHT);
    cell2KommentarA.setPadding(pad);
    cell2KommentarA.setHorizontalAlignment(Element.ALIGN_LEFT);
    table2.addCell(cell2KommentarA);

    PdfPCell cell2BewertungA;
    if (vorname.endsWith("s") || vorname.endsWith("x") || vorname.endsWith("z")) {
        cell2BewertungA = new PdfPCell(
                new Phrase(vorname + "' Arbeitsverhalten " + noteArbeitString, NORMAL_FONT));
    } else {
        cell2BewertungA = new PdfPCell(
                new Phrase(vorname + "s Arbeitsverhalten " + noteArbeitString, NORMAL_FONT));
    }
    cell2BewertungA.setColspan(4);
    cell2BewertungA.setVerticalAlignment(Element.ALIGN_MIDDLE);
    //cell2BewertungA.setFixedHeight(45f);
    cell2BewertungA.setPadding(pad);
    cell2BewertungA.setHorizontalAlignment(Element.ALIGN_LEFT);
    cell2BewertungA.setBorder(Rectangle.LEFT | Rectangle.BOTTOM | Rectangle.RIGHT);
    table2.addCell(cell2BewertungA);

    table2.addCell(emptyLine(4, 15f));

    PdfPCell cell2STitle = new PdfPCell(title2(STitle, 1, 50f, pad));

    table2.addCell(cell2STitle);
    table2.addCell(cell2Selten);
    table2.addCell(cell2Wechselnd);
    table2.addCell(cell2Ueberwiegend);

    table2 = asVerhalten(table2, sVerhalten, pad);

    PdfPCell cell2KommentarS;
    cell2KommentarS = new PdfPCell(new Paragraph(textSozial, TINYITALIC_FONT));
    cell2KommentarS.setColspan(4);
    cell2KommentarS.setBorder(Rectangle.LEFT | Rectangle.RIGHT);
    cell2KommentarS.setPadding(pad);
    cell2KommentarS.setHorizontalAlignment(Element.ALIGN_LEFT);
    table2.addCell(cell2KommentarS);

    PdfPCell cell2BewertungS;
    if (vorname.endsWith("s") || vorname.endsWith("x") || vorname.endsWith("z")) {
        cell2BewertungS = new PdfPCell(
                new Phrase(vorname + "' Sozialverhalten " + noteSozialString, NORMAL_FONT));
    } else {
        cell2BewertungS = new PdfPCell(
                new Phrase(vorname + "s Sozialverhalten " + noteSozialString, NORMAL_FONT));
    }
    cell2BewertungS.setColspan(4);
    cell2BewertungS.setVerticalAlignment(Element.ALIGN_MIDDLE);
    //cell2BewertungA.setFixedHeight(45f);
    cell2BewertungS.setPadding(pad);
    cell2BewertungS.setHorizontalAlignment(Element.ALIGN_LEFT);
    cell2BewertungS.setBorder(Rectangle.LEFT | Rectangle.BOTTOM | Rectangle.RIGHT);
    table2.addCell(cell2BewertungS);

    table2.addCell(emptyLine(4, 15f));

    // Tablestruktur aufbauen...
    // Legende...
    PdfPTable table2a = new PdfPTable(4);
    table2a.setWidths(new float[] { 3, 50, 8, 44 });
    table2a.setWidthPercentage(100);

    PdfPCell cell2Erklaerungen;
    Chunk chunk1 = new Chunk(Erklaerungen, NORMAL_FONT);
    chunk1.setUnderline(1.5f, -1);
    cell2Erklaerungen = new PdfPCell((new Phrase(chunk1)));
    cell2Erklaerungen.setColspan(4);
    cell2Erklaerungen.setFixedHeight(20f);
    cell2Erklaerungen.setVerticalAlignment(Element.ALIGN_TOP);
    cell2Erklaerungen.setHorizontalAlignment(Element.ALIGN_CENTER);
    cell2Erklaerungen.setBorder(Rectangle.NO_BORDER);
    table2a.addCell(cell2Erklaerungen);

    PdfPCell cell2BewertungsstufenAS;
    cell2BewertungsstufenAS = new PdfPCell(new Phrase(BewertungsstufenAS, SMALL_BOLD_FONT));
    cell2BewertungsstufenAS.setColspan(2);
    cell2BewertungsstufenAS.setVerticalAlignment(Element.ALIGN_TOP);
    cell2BewertungsstufenAS.setHorizontalAlignment(Element.ALIGN_LEFT);
    cell2BewertungsstufenAS.setBorder(Rectangle.NO_BORDER);
    table2a.addCell(cell2BewertungsstufenAS);

    PdfPCell cell2Symbole;
    cell2Symbole = new PdfPCell(new Phrase(Symbole, SMALL_BOLD_FONT));
    cell2Symbole.setColspan(2);
    cell2Symbole.setVerticalAlignment(Element.ALIGN_TOP);
    cell2Symbole.setHorizontalAlignment(Element.ALIGN_CENTER);
    cell2Symbole.setBorder(Rectangle.NO_BORDER);
    table2a.addCell(cell2Symbole);

    float height = 20.0f;
    PdfPCell cell2Bewertungsstufen1;
    PdfPCell cell2Item;

    cell2Item = new PdfPCell(new Phrase(""));
    cell2Bewertungsstufen1 = new PdfPCell(new Phrase("\"" + asBewertungen[0] + "\"", SMALL_FONT));
    //cell2Bewertungsstufen1.setColspan(2);
    cell2Bewertungsstufen1.setMinimumHeight(height);
    cell2Bewertungsstufen1.setVerticalAlignment(Element.ALIGN_MIDDLE);
    cell2Bewertungsstufen1.setHorizontalAlignment(Element.ALIGN_LEFT);
    cell2Bewertungsstufen1.setBorder(Rectangle.NO_BORDER);
    cell2Item.setBorder(Rectangle.NO_BORDER);
    table2a.addCell(cell2Item);
    table2a.addCell(cell2Bewertungsstufen1);

    //        PdfPCell cell2Sym0img;
    //        cell2Sym0img = new PdfPCell(new Phrase("--",SMALL_FONT));
    //        //cell2Bewertungsstufen1.setColspan(1);
    //        cell2Sym0img.setVerticalAlignment(Element.ALIGN_MIDDLE);
    //        cell2Sym0img.setHorizontalAlignment(Element.ALIGN_RIGHT);
    //        cell2Sym0img.setBorder(Rectangle.NO_BORDER);
    //        table2a.addCell(cell2Sym0img);

    table2a.addCell(kreisViertel(0, pad, Element.ALIGN_RIGHT, Element.ALIGN_TOP, Rectangle.NO_BORDER));

    PdfPCell cell2Sym0;
    cell2Sym0 = new PdfPCell(new Phrase(Sym0, SMALL_FONT));
    //cell2Bewertungsstufen1.setColspan(1);
    cell2Sym0.setVerticalAlignment(Element.ALIGN_MIDDLE);
    cell2Sym0.setHorizontalAlignment(Element.ALIGN_LEFT);
    cell2Sym0.setBorder(Rectangle.NO_BORDER);
    table2a.addCell(cell2Sym0);

    PdfPCell cell2Bewertungsstufen2;
    cell2Bewertungsstufen2 = new PdfPCell(new Phrase("\"" + asBewertungen[1] + "\"", SMALL_FONT));
    //cell2Bewertungsstufen2.setColspan(2);
    cell2Bewertungsstufen2.setMinimumHeight(height);
    cell2Bewertungsstufen2.setVerticalAlignment(Element.ALIGN_MIDDLE);
    cell2Bewertungsstufen2.setHorizontalAlignment(Element.ALIGN_LEFT);
    cell2Bewertungsstufen2.setBorder(Rectangle.NO_BORDER);
    cell2Item.setBorder(Rectangle.NO_BORDER);
    table2a.addCell(cell2Item);
    table2a.addCell(cell2Bewertungsstufen2);

    table2a.addCell(kreisViertel(1, pad, Element.ALIGN_RIGHT, Element.ALIGN_TOP, Rectangle.NO_BORDER));

    PdfPCell cell2Sym1;
    cell2Sym1 = new PdfPCell(new Phrase(Sym1, SMALL_FONT));
    //cell2Bewertungsstufen1.setColspan(1);
    cell2Sym1.setVerticalAlignment(Element.ALIGN_MIDDLE);
    cell2Sym1.setHorizontalAlignment(Element.ALIGN_LEFT);
    cell2Sym1.setBorder(Rectangle.NO_BORDER);
    table2a.addCell(cell2Sym1);

    PdfPCell cell2Bewertungsstufen3;
    cell2Bewertungsstufen3 = new PdfPCell(new Phrase("\"" + asBewertungen[2] + "\"", SMALL_FONT));
    //cell2Bewertungsstufen3.setColspan(2);
    cell2Bewertungsstufen3.setMinimumHeight(height);
    cell2Bewertungsstufen3.setVerticalAlignment(Element.ALIGN_MIDDLE);
    cell2Bewertungsstufen3.setHorizontalAlignment(Element.ALIGN_LEFT);
    cell2Bewertungsstufen3.setBorder(Rectangle.NO_BORDER);
    table2a.addCell(cell2Item);
    table2a.addCell(cell2Bewertungsstufen3);

    table2a.addCell(kreisViertel(2, pad, Element.ALIGN_RIGHT, Element.ALIGN_TOP, Rectangle.NO_BORDER));

    PdfPCell cell2Sym2;
    cell2Sym2 = new PdfPCell(new Phrase(Sym2, SMALL_FONT));
    //cell2Bewertungsstufen1.setColspan(1);
    cell2Sym2.setVerticalAlignment(Element.ALIGN_MIDDLE);
    cell2Sym2.setHorizontalAlignment(Element.ALIGN_LEFT);
    cell2Sym2.setBorder(Rectangle.NO_BORDER);
    table2a.addCell(cell2Sym2);

    PdfPCell cell2Bewertungsstufen4;
    cell2Bewertungsstufen4 = new PdfPCell(new Phrase("\"" + asBewertungen[3] + "\"", SMALL_FONT));
    //cell2Bewertungsstufen4.setColspan(2);
    cell2Bewertungsstufen4.setMinimumHeight(height);
    cell2Bewertungsstufen4.setVerticalAlignment(Element.ALIGN_MIDDLE);
    cell2Bewertungsstufen4.setHorizontalAlignment(Element.ALIGN_LEFT);
    cell2Bewertungsstufen4.setBorder(Rectangle.NO_BORDER);
    table2a.addCell(cell2Item);
    table2a.addCell(cell2Bewertungsstufen4);

    table2a.addCell(kreisViertel(3, pad, Element.ALIGN_RIGHT, Element.ALIGN_TOP, Rectangle.NO_BORDER));

    PdfPCell cell2Sym3;
    cell2Sym3 = new PdfPCell(new Phrase(Sym3, SMALL_FONT));
    //cell2Bewertungsstufen1.setColspan(1);
    cell2Sym3.setVerticalAlignment(Element.ALIGN_MIDDLE);
    cell2Sym3.setHorizontalAlignment(Element.ALIGN_LEFT);
    cell2Sym3.setBorder(Rectangle.NO_BORDER);
    table2a.addCell(cell2Sym3);

    PdfPCell cell2Bewertungsstufen5;
    cell2Bewertungsstufen5 = new PdfPCell(new Phrase("\"" + asBewertungen[4] + "\"", SMALL_FONT));
    //cell2Bewertungsstufen5.setColspan(2);
    cell2Bewertungsstufen5.setMinimumHeight(height);
    cell2Bewertungsstufen5.setVerticalAlignment(Element.ALIGN_MIDDLE);
    cell2Bewertungsstufen5.setHorizontalAlignment(Element.ALIGN_LEFT);
    cell2Bewertungsstufen5.setBorder(Rectangle.NO_BORDER);
    table2a.addCell(cell2Item);
    table2a.addCell(cell2Bewertungsstufen5);

    table2a.addCell(kreisViertel(4, pad, Element.ALIGN_RIGHT, Element.ALIGN_TOP, Rectangle.NO_BORDER));

    PdfPCell cell2Sym4;
    cell2Sym4 = new PdfPCell(new Phrase(Sym4, SMALL_FONT));
    //cell2Bewertungsstufen1.setColspan(1);
    cell2Sym4.setVerticalAlignment(Element.ALIGN_MIDDLE);
    cell2Sym4.setHorizontalAlignment(Element.ALIGN_LEFT);
    cell2Sym4.setBorder(Rectangle.NO_BORDER);
    table2a.addCell(cell2Sym4);

    doc.add(table2);
    doc.add(table2a);

    doc.newPage();

    // Seite 3 *************************************************************
    // Tablestruktur aufbauen...
    pad = 3f;
    PdfPTable table3 = new PdfPTable(6);
    table3.setWidths(new float[] { 60, 8, 8, 8, 8, 8 });
    table3.setWidthPercentage(100);

    PdfPCell cell3Header = emptyLine(6, 10f);
    PdfPCell cell3Deutsch;
    cell3Deutsch = new PdfPCell(new Phrase(deutschS + jStufe, NORMAL_BOLD_FONT));
    cell3Deutsch.setColspan(6);
    cell3Deutsch.setVerticalAlignment(Element.ALIGN_MIDDLE);
    cell3Deutsch.setFixedHeight(35f);
    cell3Deutsch.setHorizontalAlignment(Element.ALIGN_LEFT);
    cell3Deutsch.setBorder(Rectangle.NO_BORDER);

    // Sprechen und Zuhren 
    PdfPCell cell3sz;
    cell3sz = new PdfPCell(new Phrase(sz, NORMAL_FONT));
    //cell2ATitle.setColspan(4);
    cell3sz.setVerticalAlignment(Element.ALIGN_TOP);
    cell3sz.setFixedHeight(50f);
    cell3sz.setPadding(pad);
    cell3sz.setHorizontalAlignment(Element.ALIGN_LEFT);
    //cell2ATitle.setBorder(Rectangle.NO_BORDER);

    PdfPCell cell3Leer;
    //        cell3Leer = new PdfPCell(new Phrase("--",TINY_FONT));
    cell3Leer = new PdfPCell(kreisViertel(0, pad, Element.ALIGN_RIGHT, Element.ALIGN_TOP, Rectangle.BOX));
    //cell2ATitle.setColspan(4);
    cell3Leer.setVerticalAlignment(Element.ALIGN_MIDDLE);
    //cell2ATitle.setFixedHeight(30f);
    cell3Leer.setPadding(pad);
    cell3Leer.setHorizontalAlignment(Element.ALIGN_CENTER);
    //cell2ATitle.setBorder(Rectangle.NO_BORDER);

    table3.addCell(cell3Header);
    table3.addCell(cell3Deutsch);
    table3.addCell(cell3sz);
    table3.addCell(cell3Leer);
    table3.addCell(kreisViertel(1, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
    table3.addCell(kreisViertel(2, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
    table3.addCell(kreisViertel(3, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
    table3.addCell(kreisViertel(4, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));

    table3 = lernbereiche(table3, sprechenZL, pad);

    // Schreiben 
    PdfPCell cell3EmptyLine;
    cell3EmptyLine = new PdfPCell(new Phrase("", NORMAL_BOLD_FONT));
    cell3EmptyLine.setColspan(6);
    cell3EmptyLine.setFixedHeight(15f);
    cell3EmptyLine.setBorder(Rectangle.NO_BORDER);

    cell3sz = new PdfPCell(new Phrase(sch, NORMAL_FONT));
    cell3sz.setVerticalAlignment(Element.ALIGN_TOP);
    cell3sz.setFixedHeight(50f);
    cell3sz.setPadding(pad);
    cell3sz.setHorizontalAlignment(Element.ALIGN_LEFT);

    //        cell3Leer = new PdfPCell(new Phrase("--",TINY_FONT));
    cell3Leer = new PdfPCell(kreisViertel(0, pad, Element.ALIGN_RIGHT, Element.ALIGN_TOP, Rectangle.BOX));
    cell3Leer.setVerticalAlignment(Element.ALIGN_MIDDLE);
    cell3Leer.setPadding(pad);
    cell3Leer.setHorizontalAlignment(Element.ALIGN_CENTER);

    table3.addCell(cell3EmptyLine);
    table3.addCell(cell3sz);
    table3.addCell(cell3Leer);
    table3.addCell(kreisViertel(1, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
    table3.addCell(kreisViertel(2, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
    table3.addCell(kreisViertel(3, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
    table3.addCell(kreisViertel(4, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));

    table3 = lernbereiche(table3, schreibenZL, pad);

    // Lesen - mit Texten und Medien umgehen
    cell3EmptyLine = new PdfPCell(new Phrase("", NORMAL_BOLD_FONT));
    cell3EmptyLine.setColspan(6);
    cell3EmptyLine.setFixedHeight(15f);
    cell3EmptyLine.setBorder(Rectangle.NO_BORDER);

    cell3sz = new PdfPCell(new Phrase(les, NORMAL_FONT));
    cell3sz.setVerticalAlignment(Element.ALIGN_TOP);
    cell3sz.setFixedHeight(50f);
    cell3sz.setPadding(pad);
    cell3sz.setHorizontalAlignment(Element.ALIGN_LEFT);

    //        cell3Leer = new PdfPCell(new Phrase("--",TINY_FONT));
    cell3Leer = new PdfPCell(kreisViertel(0, pad, Element.ALIGN_RIGHT, Element.ALIGN_TOP, Rectangle.BOX));
    cell3Leer.setVerticalAlignment(Element.ALIGN_MIDDLE);
    cell3Leer.setPadding(pad);
    cell3Leer.setHorizontalAlignment(Element.ALIGN_CENTER);

    table3.addCell(cell3EmptyLine);
    table3.addCell(cell3sz);
    table3.addCell(cell3Leer);
    table3.addCell(kreisViertel(1, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
    table3.addCell(kreisViertel(2, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
    table3.addCell(kreisViertel(3, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
    table3.addCell(kreisViertel(4, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));

    table3 = lernbereiche(table3, lesenZL, pad);

    // Sprache und Sprachgebrauch untersuchen
    cell3EmptyLine = new PdfPCell(new Phrase("", NORMAL_BOLD_FONT));
    cell3EmptyLine.setColspan(6);
    cell3EmptyLine.setFixedHeight(15f);
    cell3EmptyLine.setBorder(Rectangle.NO_BORDER);

    cell3sz = new PdfPCell(new Phrase(sp, NORMAL_FONT));
    cell3sz.setVerticalAlignment(Element.ALIGN_TOP);
    cell3sz.setFixedHeight(50f);
    cell3sz.setPadding(pad);
    cell3sz.setHorizontalAlignment(Element.ALIGN_LEFT);

    //        cell3Leer = new PdfPCell(new Phrase("--",TINY_FONT));
    cell3Leer = new PdfPCell(kreisViertel(0, pad, Element.ALIGN_RIGHT, Element.ALIGN_TOP, Rectangle.BOX));
    cell3Leer.setVerticalAlignment(Element.ALIGN_MIDDLE);
    cell3Leer.setPadding(pad);
    cell3Leer.setHorizontalAlignment(Element.ALIGN_CENTER);

    table3.addCell(cell3EmptyLine);
    table3.addCell(cell3sz);
    table3.addCell(cell3Leer);
    table3.addCell(kreisViertel(1, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
    table3.addCell(kreisViertel(2, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
    table3.addCell(kreisViertel(3, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
    table3.addCell(kreisViertel(4, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));

    table3 = lernbereiche(table3, sprachZL, pad);

    doc.add(table3);
    doc.newPage();

    // Seite 4 *************************************************************
    // Tablestruktur aufbauen...
    pad = 3f;
    PdfPTable table4 = new PdfPTable(6);
    table4.setWidths(new float[] { 60, 8, 8, 8, 8, 8 });
    table4.setWidthPercentage(100);

    PdfPCell cell4Header = emptyLine(6, 10f);

    PdfPCell cell4Mathe;
    cell4Mathe = new PdfPCell(new Phrase(matheS + jStufe, NORMAL_BOLD_FONT));
    cell4Mathe.setColspan(6);
    cell4Mathe.setVerticalAlignment(Element.ALIGN_MIDDLE);
    cell4Mathe.setFixedHeight(35f);
    cell4Mathe.setHorizontalAlignment(Element.ALIGN_LEFT);
    cell4Mathe.setBorder(Rectangle.NO_BORDER);

    // Zahlen und Operationen 
    PdfPCell cell4zo;
    cell4zo = new PdfPCell(new Phrase(zo, NORMAL_FONT));
    //cell2ATitle.setColspan(4);
    cell4zo.setVerticalAlignment(Element.ALIGN_TOP);
    cell4zo.setFixedHeight(50f);
    cell4zo.setPadding(pad);
    cell4zo.setHorizontalAlignment(Element.ALIGN_LEFT);
    //cell2ATitle.setBorder(Rectangle.NO_BORDER);

    PdfPCell cell4Leer;
    //        cell4Leer = new PdfPCell(new Phrase("--",TINY_FONT));
    cell4Leer = new PdfPCell(kreisViertel(0, pad, Element.ALIGN_RIGHT, Element.ALIGN_TOP, Rectangle.BOX));
    //cell2ATitle.setColspan(4);
    cell4Leer.setVerticalAlignment(Element.ALIGN_MIDDLE);
    //cell2ATitle.setFixedHeight(30f);
    cell4Leer.setPadding(pad);
    cell4Leer.setHorizontalAlignment(Element.ALIGN_CENTER);
    //cell2ATitle.setBorder(Rectangle.NO_BORDER);

    table4.addCell(cell4Header);
    table4.addCell(cell4Mathe);
    table4.addCell(cell4zo);
    table4.addCell(cell4Leer);
    table4.addCell(kreisViertel(1, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
    table4.addCell(kreisViertel(2, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
    table4.addCell(kreisViertel(3, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
    table4.addCell(kreisViertel(4, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));

    table4 = lernbereiche(table4, zahlenZL, pad);

    PdfPCell cell4EmptyLine;
    cell4EmptyLine = new PdfPCell(new Phrase("", NORMAL_BOLD_FONT));
    cell4EmptyLine.setColspan(6);
    cell4EmptyLine.setFixedHeight(15f);
    cell4EmptyLine.setBorder(Rectangle.NO_BORDER);

    // Gren und Messen
    PdfPCell cell4gm;
    cell4gm = new PdfPCell(new Phrase(gm, NORMAL_FONT));
    //cell2ATitle.setColspan(4);
    cell4gm.setVerticalAlignment(Element.ALIGN_TOP);
    cell4gm.setFixedHeight(50f);
    cell4gm.setPadding(pad);
    cell4gm.setHorizontalAlignment(Element.ALIGN_LEFT);
    //cell2ATitle.setBorder(Rectangle.NO_BORDER);

    //        cell4Leer = new PdfPCell(new Phrase("--",TINY_FONT));
    cell4Leer = new PdfPCell(kreisViertel(0, pad, Element.ALIGN_RIGHT, Element.ALIGN_TOP, Rectangle.BOX));
    cell4Leer.setVerticalAlignment(Element.ALIGN_MIDDLE);
    cell4Leer.setPadding(pad);
    cell4Leer.setHorizontalAlignment(Element.ALIGN_CENTER);

    table4.addCell(cell4EmptyLine);
    table4.addCell(cell4gm);
    table4.addCell(cell4Leer);
    table4.addCell(kreisViertel(1, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
    table4.addCell(kreisViertel(2, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
    table4.addCell(kreisViertel(3, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
    table4.addCell(kreisViertel(4, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));

    table4 = lernbereiche(table4, groessenZL, pad);

    // Raum und Form

    PdfPCell cell4rf;
    cell4rf = new PdfPCell(new Phrase(rf, NORMAL_FONT));
    cell4rf.setVerticalAlignment(Element.ALIGN_TOP);
    cell4rf.setFixedHeight(50f);
    cell4rf.setPadding(pad);
    cell4rf.setHorizontalAlignment(Element.ALIGN_LEFT);

    //        cell4Leer = new PdfPCell(new Phrase("--",TINY_FONT));
    cell4Leer = new PdfPCell(kreisViertel(0, pad, Element.ALIGN_RIGHT, Element.ALIGN_TOP, Rectangle.BOX));
    cell4Leer.setVerticalAlignment(Element.ALIGN_MIDDLE);
    cell4Leer.setPadding(pad);
    cell4Leer.setHorizontalAlignment(Element.ALIGN_CENTER);

    table4.addCell(emptyLine(6, 15f));
    table4.addCell(cell4rf);
    table4.addCell(cell4Leer);
    table4.addCell(kreisViertel(1, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
    table4.addCell(kreisViertel(2, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
    table4.addCell(kreisViertel(3, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
    table4.addCell(kreisViertel(4, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));

    table4 = lernbereiche(table4, raumZL, pad);

    doc.add(table4);
    doc.newPage();

    // *****************************************************************************************************
    if (Gui.getSClass().substring(0, 1).endsWith("1") || Gui.getSClass().substring(0, 1).endsWith("2")) {

        // Seite 5 *************************************************************
        // Tablestruktur aufbauen...
        pad = 3f;
        PdfPTable table5 = new PdfPTable(6);
        table5.setWidths(new float[] { 60, 8, 8, 8, 8, 8 });
        table5.setWidthPercentage(100);

        PdfPCell cell5Header = emptyLine(6, 10f);

        // *********************************************************************
        // Sachunterricht
        // *********************************************************************
        PdfPCell cell5Sachunterricht;
        cell5Sachunterricht = new PdfPCell(new Phrase(sachunterrichtS + jStufe, NORMAL_BOLD_FONT));
        cell5Sachunterricht.setColspan(6);
        cell5Sachunterricht.setVerticalAlignment(Element.ALIGN_MIDDLE);
        cell5Sachunterricht.setFixedHeight(35f);
        cell5Sachunterricht.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell5Sachunterricht.setBorder(Rectangle.NO_BORDER);

        PdfPCell cell5su;
        cell5su = new PdfPCell(new Phrase(su, NORMAL_FONT));
        cell5su.setVerticalAlignment(Element.ALIGN_TOP);
        cell5su.setFixedHeight(30f);
        cell5su.setPadding(pad);
        cell5su.setHorizontalAlignment(Element.ALIGN_LEFT);

        PdfPCell cell5Leer;
        cell5Leer = new PdfPCell(kreisViertel(0, pad, Element.ALIGN_RIGHT, Element.ALIGN_TOP, Rectangle.BOX));
        cell5Leer.setVerticalAlignment(Element.ALIGN_MIDDLE);
        cell5Leer.setPadding(pad);
        cell5Leer.setHorizontalAlignment(Element.ALIGN_CENTER);

        table5.addCell(cell5Header);
        table5.addCell(cell5Sachunterricht);
        table5.addCell(cell5su);
        table5.addCell(cell5Leer);
        table5.addCell(kreisViertel(1, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
        table5.addCell(kreisViertel(2, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
        table5.addCell(kreisViertel(3, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
        table5.addCell(kreisViertel(4, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));

        table5 = lernbereiche(table5, sachunterrichtZL, pad);

        table5.addCell(emptyLine(6, 15f));

        // *********************************************************************
        // Sport
        // *********************************************************************
        PdfPCell cell5Sport;
        cell5Sport = new PdfPCell(new Phrase(sportS + jStufe, NORMAL_BOLD_FONT));
        cell5Sport.setColspan(6);
        cell5Sport.setVerticalAlignment(Element.ALIGN_MIDDLE);
        cell5Sport.setFixedHeight(35f);
        cell5Sport.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell5Sport.setBorder(Rectangle.NO_BORDER);

        table5.addCell(cell5Sport);
        table5.addCell(cell5su);
        table5.addCell(cell5Leer);
        table5.addCell(kreisViertel(1, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
        table5.addCell(kreisViertel(2, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
        table5.addCell(kreisViertel(3, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
        table5.addCell(kreisViertel(4, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));

        table5 = lernbereiche(table5, sportZL, pad);

        table5.addCell(emptyLine(6, 15f));

        // *********************************************************************
        // Religion
        // *********************************************************************
        PdfPCell cell5Religion;
        cell5Religion = new PdfPCell(new Phrase(religionS + jStufe, NORMAL_BOLD_FONT));
        cell5Religion.setColspan(6);
        cell5Religion.setVerticalAlignment(Element.ALIGN_MIDDLE);
        cell5Religion.setFixedHeight(35f);
        cell5Religion.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell5Religion.setBorder(Rectangle.NO_BORDER);

        cell5su = new PdfPCell(new Phrase(su, NORMAL_FONT));
        cell5su.setVerticalAlignment(Element.ALIGN_TOP);
        cell5su.setFixedHeight(30f);
        cell5su.setPadding(pad);
        cell5su.setHorizontalAlignment(Element.ALIGN_LEFT);

        cell5Leer = new PdfPCell(kreisViertel(0, pad, Element.ALIGN_RIGHT, Element.ALIGN_TOP, Rectangle.BOX));
        cell5Leer.setVerticalAlignment(Element.ALIGN_MIDDLE);
        cell5Leer.setPadding(pad);
        cell5Leer.setHorizontalAlignment(Element.ALIGN_CENTER);

        table5.addCell(cell5Religion);
        table5.addCell(cell5su);
        table5.addCell(cell5Leer);
        table5.addCell(kreisViertel(1, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
        table5.addCell(kreisViertel(2, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
        table5.addCell(kreisViertel(3, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
        table5.addCell(kreisViertel(4, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));

        table5 = lernbereiche(table5, religionZL, pad);

        table5.addCell(emptyLine(6, 15f));

        // *********************************************************************
        // Musik
        // *********************************************************************
        PdfPCell cell5Musik;
        cell5Musik = new PdfPCell(new Phrase(musikS + jStufe, NORMAL_BOLD_FONT));
        cell5Musik.setColspan(6);
        cell5Musik.setVerticalAlignment(Element.ALIGN_MIDDLE);
        cell5Musik.setFixedHeight(35f);
        cell5Musik.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell5Musik.setBorder(Rectangle.NO_BORDER);

        cell5su = new PdfPCell(new Phrase(su, NORMAL_FONT));
        cell5su.setVerticalAlignment(Element.ALIGN_TOP);
        cell5su.setFixedHeight(30f);
        cell5su.setPadding(pad);
        cell5su.setHorizontalAlignment(Element.ALIGN_LEFT);

        cell5Leer = new PdfPCell(kreisViertel(0, pad, Element.ALIGN_RIGHT, Element.ALIGN_TOP, Rectangle.BOX));
        cell5Leer.setVerticalAlignment(Element.ALIGN_MIDDLE);
        cell5Leer.setPadding(pad);
        cell5Leer.setHorizontalAlignment(Element.ALIGN_CENTER);

        table5.addCell(cell5Musik);
        table5.addCell(cell5su);
        table5.addCell(cell5Leer);
        table5.addCell(kreisViertel(1, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
        table5.addCell(kreisViertel(2, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
        table5.addCell(kreisViertel(3, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
        table5.addCell(kreisViertel(4, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));

        table5 = lernbereiche(table5, musikZL, pad);

        table5.addCell(emptyLine(6, 15f));

        // *********************************************************************
        // Kunst
        // *********************************************************************
        PdfPCell cell5Kunst;
        cell5Kunst = new PdfPCell(new Phrase(kunstS + jStufe, NORMAL_BOLD_FONT));
        cell5Kunst.setColspan(6);
        cell5Kunst.setVerticalAlignment(Element.ALIGN_MIDDLE);
        cell5Kunst.setFixedHeight(35f);
        cell5Kunst.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell5Kunst.setBorder(Rectangle.NO_BORDER);

        table5.addCell(cell5Kunst);
        table5.addCell(cell5su);
        table5.addCell(cell5Leer);
        table5.addCell(kreisViertel(1, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
        table5.addCell(kreisViertel(2, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
        table5.addCell(kreisViertel(3, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
        table5.addCell(kreisViertel(4, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));

        table5 = lernbereiche(table5, kunstZL, pad);

        table5.addCell(emptyLine(6, 15f));

        doc.add(table5); // Ende Seite 5 fr 1. und 2. Klasse
    } else { // Anfang Seite 5 fr 3. und 4. Klasse
        // Seite 5a *************************************************************
        doc.newPage(); // Tablestruktur aufbauen...
        pad = 3f;
        PdfPTable table5a = new PdfPTable(6);
        table5a.setWidths(new float[] { 60, 8, 8, 8, 8, 8 });
        table5a.setWidthPercentage(100);

        PdfPCell cell5Header = emptyLine(6, 10f);

        // *********************************************************************
        // Sachunterricht
        // *********************************************************************
        PdfPCell cell5Sachunterricht;
        cell5Sachunterricht = new PdfPCell(new Phrase(sachunterrichtS + jStufe, NORMAL_BOLD_FONT));
        cell5Sachunterricht.setColspan(6);
        cell5Sachunterricht.setVerticalAlignment(Element.ALIGN_MIDDLE);
        cell5Sachunterricht.setFixedHeight(35f);
        cell5Sachunterricht.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell5Sachunterricht.setBorder(Rectangle.NO_BORDER);

        PdfPCell cell5su;
        cell5su = new PdfPCell(new Phrase(su, NORMAL_FONT));
        cell5su.setVerticalAlignment(Element.ALIGN_TOP);
        cell5su.setFixedHeight(30f);
        cell5su.setPadding(pad);
        cell5su.setHorizontalAlignment(Element.ALIGN_LEFT);

        PdfPCell cell5Leer;
        cell5Leer = new PdfPCell(kreisViertel(0, pad, Element.ALIGN_RIGHT, Element.ALIGN_TOP, Rectangle.BOX));
        cell5Leer.setVerticalAlignment(Element.ALIGN_MIDDLE);
        cell5Leer.setPadding(pad);
        cell5Leer.setHorizontalAlignment(Element.ALIGN_CENTER);

        table5a.addCell(cell5Header);
        table5a.addCell(cell5Sachunterricht);
        table5a.addCell(cell5su);
        table5a.addCell(cell5Leer);
        table5a.addCell(kreisViertel(1, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
        table5a.addCell(kreisViertel(2, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
        table5a.addCell(kreisViertel(3, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
        table5a.addCell(kreisViertel(4, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));

        table5a = lernbereiche(table5a, sachunterrichtZL, pad);

        table5a.addCell(emptyLine(6, 15f));

        // *********************************************************************
        // Englisch
        // *********************************************************************
        PdfPCell cell5Englisch;
        cell5Englisch = new PdfPCell(new Phrase(englischS + jStufe, NORMAL_BOLD_FONT));
        cell5Englisch.setColspan(6);
        cell5Englisch.setVerticalAlignment(Element.ALIGN_MIDDLE);
        cell5Englisch.setFixedHeight(35f);
        cell5Englisch.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell5Englisch.setBorder(Rectangle.NO_BORDER);

        table5a.addCell(cell5Englisch);
        table5a.addCell(cell5su);
        table5a.addCell(cell5Leer);
        table5a.addCell(kreisViertel(1, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
        table5a.addCell(kreisViertel(2, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
        table5a.addCell(kreisViertel(3, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
        table5a.addCell(kreisViertel(4, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));

        table5a = lernbereiche(table5a, englischZL, pad);

        table5a.addCell(emptyLine(6, 15f));

        // *********************************************************************
        // Sport
        // *********************************************************************
        PdfPCell cell5Sport;
        cell5Sport = new PdfPCell(new Phrase(sportS + jStufe, NORMAL_BOLD_FONT));
        cell5Sport.setColspan(6);
        cell5Sport.setVerticalAlignment(Element.ALIGN_MIDDLE);
        cell5Sport.setFixedHeight(35f);
        cell5Sport.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell5Sport.setBorder(Rectangle.NO_BORDER);

        table5a.addCell(cell5Sport);
        table5a.addCell(cell5su);
        table5a.addCell(cell5Leer);
        table5a.addCell(kreisViertel(1, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
        table5a.addCell(kreisViertel(2, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
        table5a.addCell(kreisViertel(3, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
        table5a.addCell(kreisViertel(4, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));

        table5a = lernbereiche(table5a, sportZL, pad);

        table5a.addCell(emptyLine(6, 15f));

        doc.add(table5a);

        // Seite 6 *************************************************************
        doc.newPage();
        // Tablestruktur aufbauen...
        PdfPTable table6 = new PdfPTable(6);
        pad = 3f;
        table6.setWidths(new float[] { 60, 8, 8, 8, 8, 8 });
        table6.setWidthPercentage(100);

        PdfPCell cell6Header = emptyLine(6, 10f);

        // *********************************************************************
        // Religion
        // *********************************************************************
        PdfPCell cell6Religion;
        cell6Religion = new PdfPCell(new Phrase(religionS + jStufe, NORMAL_BOLD_FONT));
        cell6Religion.setColspan(6);
        cell6Religion.setVerticalAlignment(Element.ALIGN_MIDDLE);
        cell6Religion.setFixedHeight(35f);
        cell6Religion.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell6Religion.setBorder(Rectangle.NO_BORDER);

        PdfPCell cell6su;
        cell6su = new PdfPCell(new Phrase(su, NORMAL_FONT));
        cell6su.setVerticalAlignment(Element.ALIGN_TOP);
        cell6su.setFixedHeight(30f);
        cell6su.setPadding(pad);
        cell6su.setHorizontalAlignment(Element.ALIGN_LEFT);

        PdfPCell cell6Leer;
        cell6Leer = new PdfPCell(kreisViertel(0, pad, Element.ALIGN_RIGHT, Element.ALIGN_TOP, Rectangle.BOX));
        cell6Leer.setVerticalAlignment(Element.ALIGN_MIDDLE);
        cell6Leer.setPadding(pad);
        cell6Leer.setHorizontalAlignment(Element.ALIGN_CENTER);

        table6.addCell(cell6Religion);
        table6.addCell(cell6su);
        table6.addCell(cell6Leer);
        table6.addCell(kreisViertel(1, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
        table6.addCell(kreisViertel(2, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
        table6.addCell(kreisViertel(3, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
        table6.addCell(kreisViertel(4, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));

        table6 = lernbereiche(table6, religionZL, pad);

        table6.addCell(emptyLine(6, 15f));

        // *********************************************************************
        // Musik
        // *********************************************************************
        PdfPCell cell6Musik;
        cell6Musik = new PdfPCell(new Phrase(musikS + jStufe, NORMAL_BOLD_FONT));
        cell6Musik.setColspan(6);
        cell6Musik.setVerticalAlignment(Element.ALIGN_MIDDLE);
        cell6Musik.setFixedHeight(35f);
        cell6Musik.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell6Musik.setBorder(Rectangle.NO_BORDER);

        cell6su = new PdfPCell(new Phrase(su, NORMAL_FONT));
        cell6su.setVerticalAlignment(Element.ALIGN_TOP);
        cell6su.setFixedHeight(30f);
        cell6su.setPadding(pad);
        cell6su.setHorizontalAlignment(Element.ALIGN_LEFT);

        cell6Leer = new PdfPCell(kreisViertel(0, pad, Element.ALIGN_RIGHT, Element.ALIGN_TOP, Rectangle.BOX));
        cell6Leer.setVerticalAlignment(Element.ALIGN_MIDDLE);
        cell6Leer.setPadding(pad);
        cell6Leer.setHorizontalAlignment(Element.ALIGN_CENTER);

        table6.addCell(cell6Musik);
        table6.addCell(cell6su);
        table6.addCell(cell6Leer);
        table6.addCell(kreisViertel(1, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
        table6.addCell(kreisViertel(2, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
        table6.addCell(kreisViertel(3, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
        table6.addCell(kreisViertel(4, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));

        table6 = lernbereiche(table6, musikZL, pad);

        table6.addCell(emptyLine(6, 15f));

        // *********************************************************************
        // Kunst
        // *********************************************************************
        PdfPCell cell6Kunst;
        cell6Kunst = new PdfPCell(new Phrase(kunstS + jStufe, NORMAL_BOLD_FONT));
        cell6Kunst.setColspan(6);
        cell6Kunst.setVerticalAlignment(Element.ALIGN_MIDDLE);
        cell6Kunst.setFixedHeight(35f);
        cell6Kunst.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell6Kunst.setBorder(Rectangle.NO_BORDER);

        table6.addCell(cell6Kunst);
        table6.addCell(cell6su);
        table6.addCell(cell6Leer);
        table6.addCell(kreisViertel(1, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
        table6.addCell(kreisViertel(2, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
        table6.addCell(kreisViertel(3, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
        table6.addCell(kreisViertel(4, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));

        table6 = lernbereiche(table6, kunstZL, pad);

        table6.addCell(emptyLine(6, 15f));

        doc.add(table6);
        // Seite 7 *************************************************************
        doc.newPage();
        // Tablestruktur aufbauen...
        PdfPTable table7 = new PdfPTable(6);
        pad = 3f;
        table7.setWidths(new float[] { 60, 8, 8, 8, 8, 8 });
        table7.setWidthPercentage(100);

        PdfPCell cell7Header = emptyLine(6, 10f);

        table7.addCell(cell7Header);

        PdfPCell cell7su;
        cell7su = new PdfPCell(new Phrase(su, NORMAL_FONT));
        cell7su.setVerticalAlignment(Element.ALIGN_TOP);
        cell7su.setFixedHeight(30f);
        cell7su.setPadding(pad);
        cell7su.setHorizontalAlignment(Element.ALIGN_LEFT);

        PdfPCell cell7Leer;
        cell7Leer = new PdfPCell(kreisViertel(0, pad, Element.ALIGN_RIGHT, Element.ALIGN_TOP, Rectangle.BOX));
        cell7Leer.setVerticalAlignment(Element.ALIGN_MIDDLE);
        cell7Leer.setPadding(pad);
        cell7Leer.setHorizontalAlignment(Element.ALIGN_CENTER);

        // *********************************************************************
        // Textil
        // *********************************************************************
        PdfPCell cell7Textil;
        cell7Textil = new PdfPCell(new Phrase(textilS + jStufe, NORMAL_BOLD_FONT));
        cell7Textil.setColspan(6);
        cell7Textil.setVerticalAlignment(Element.ALIGN_MIDDLE);
        cell7Textil.setFixedHeight(35f);
        cell7Textil.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell7Textil.setBorder(Rectangle.NO_BORDER);

        table7.addCell(cell7Textil);
        table7.addCell(cell7su);
        table7.addCell(cell7Leer);
        table7.addCell(kreisViertel(1, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
        table7.addCell(kreisViertel(2, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
        table7.addCell(kreisViertel(3, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
        table7.addCell(kreisViertel(4, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));

        table7 = lernbereiche(table7, textilZL, pad);

        table7.addCell(emptyLine(6, 15f));

        // *********************************************************************
        // Werken
        // *********************************************************************
        PdfPCell cell7Werken;
        cell7Werken = new PdfPCell(new Phrase(werkenS + jStufe, NORMAL_BOLD_FONT));
        cell7Werken.setColspan(6);
        cell7Werken.setVerticalAlignment(Element.ALIGN_MIDDLE);
        cell7Werken.setFixedHeight(35f);
        cell7Werken.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell7Werken.setBorder(Rectangle.NO_BORDER);

        table7.addCell(cell7Werken);
        table7.addCell(cell7su);
        table7.addCell(cell7Leer);
        table7.addCell(kreisViertel(1, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
        table7.addCell(kreisViertel(2, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
        table7.addCell(kreisViertel(3, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));
        table7.addCell(kreisViertel(4, pad, Element.ALIGN_CENTER, Element.ALIGN_MIDDLE, Rectangle.BOX));

        table7 = lernbereiche(table7, werkenZL, pad);

        table7.addCell(emptyLine(6, 15f));

        doc.add(table7);
    }
    doc.addTitle("Zeugnis");
    doc.addAuthor("Grundschule Brelingen");
    doc.addCreationDate();
    doc.addSubject("Zeugnis");
    doc.close();
    writer.close();
}