Example usage for com.itextpdf.text Rectangle LEFT

List of usage examples for com.itextpdf.text Rectangle LEFT

Introduction

In this page you can find the example usage for com.itextpdf.text Rectangle LEFT.

Prototype

int LEFT

To view the source code for com.itextpdf.text Rectangle LEFT.

Click Source Link

Document

This represents one side of the border of the Rectangle.

Usage

From source file:comisionesafis.informes.LiquidacionComisiones.java

private void printCabeceraColumnas(PdfPTable table) {

    PdfPCell celda;/* ww  w  . j a v a2  s . co  m*/

    Font font = new Font(Font.FontFamily.COURIER, 8, Font.NORMAL);
    celda = new PdfPCell(new Phrase("NUMERO DE PLIZA", font));
    celda.setBorder(Rectangle.TOP + Rectangle.BOTTOM + Rectangle.LEFT);
    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
    table.addCell(celda);
    celda = new PdfPCell(new Phrase("FECHA DE VENCIMIENTO", font));
    celda.setBorder(Rectangle.TOP + Rectangle.BOTTOM);
    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
    table.addCell(celda);
    celda = new PdfPCell(new Phrase("FORMA DE PAGO", font));
    celda.setBorder(Rectangle.TOP + Rectangle.BOTTOM);
    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
    table.addCell(celda);
    celda = new PdfPCell(new Phrase("BASE COMISIN", font));
    celda.setBorder(Rectangle.TOP + Rectangle.BOTTOM);
    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
    table.addCell(celda);
    celda = new PdfPCell(new Phrase("IMPORTE", font));
    celda.setBorder(Rectangle.TOP + Rectangle.BOTTOM + Rectangle.RIGHT);
    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
    table.addCell(celda);

}

From source file:de.aidger.utils.pdf.BalanceReportConverter.java

License:Open Source License

/**
 * Creates a new group table with the title of the group. Adds the table and
 * its title to the group table vector./*from w ww. j  a  v a2s.  c  o  m*/
 * 
 * @param course
 *            The course for which a group shall be created.
 * @return The PdfPTable of the group.
 */
@SuppressWarnings("unchecked")
private PdfPTable createGroup(Course course) {
    balanceReportGroupCreator = new BalanceReportGroupCreator(course, calculationMethod);
    List<Course> courses = null;
    sums = new ArrayList<Object>();
    try {
        if (course.getSemester() != null) {
            courses = (new Course()).getCoursesBySemester(course.getSemester());
        } else {
            courses = new ArrayList<Course>();
            List<Course> unsortedCourses = new Course().getAll();
            for (Course currentCourse : unsortedCourses) {
                if (currentCourse.getSemester() == null) {
                    courses.add(new Course(currentCourse));
                }
            }
        }
    } catch (SienaException e) {
        UI.displayError(e.toString());
    }
    List<Course> filteredCourses = balanceHelper.filterCourses(courses, filters);
    ArrayList<Long> addedCourses = new ArrayList<Long>();
    addedCourses.add(course.getId());
    for (Course filteredCourse : filteredCourses) {
        if (!addedCourses.contains(filteredCourse.getId())
                && filteredCourse.getGroup().equals(course.getGroup())) {
            balanceReportGroupCreator.addCourse(filteredCourse);
            addedCourses.add(filteredCourse.getId());
        }
    }
    ArrayList<Integer> costUnits = new ArrayList<Integer>();
    ArrayList<BalanceCourse> balanceCourses = balanceReportGroupCreator.getBalanceCourses();
    ArrayList<String> titles = new ArrayList<String>();
    String[] courseTitles = { _("Title"), _("Part"), _("Lecturer"), _("Target Audience"), _("Planned AWS"),
            _("Basic needed AWS") };
    for (int i = 0; i < courseTitles.length; i++) {
        titles.add(courseTitles[i]);
    }
    for (Object balanceCourse : balanceCourses) {
        for (BudgetCost budgetCost : ((BalanceCourse) balanceCourse).getBudgetCosts()) {
            int budgetCostId = budgetCost.getId();
            String budgetCostName = budgetCost.getName();
            if (!costUnits.contains(budgetCostId)) {
                costUnits.add(budgetCostId);
                titles.add(_("Budget costs from") + " " + budgetCostName);
            }
        }
    }
    int columnCount = titles.size();
    Font tableTitleFont;
    Font tableContentFont;
    try {
        tableContentFont = new Font(BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED),
                9);
        tableTitleFont = new Font(
                BaseFont.createFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1252, BaseFont.EMBEDDED), 9);

        Font groupTitleFont = new Font(
                BaseFont.createFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1252, BaseFont.EMBEDDED), 11);
        Font groupNameFont = new Font(
                BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED), 11);

        PdfPTable groupTable = new PdfPTable(1);
        PdfPTable groupNameTable = new PdfPTable(new float[] { 0.2f, 0.8f });
        PdfPCell groupTitle = new PdfPCell(new Phrase(_("Group"), groupTitleFont));
        groupTitle.setBorder(2);
        groupNameTable.addCell(groupTitle);
        PdfPCell groupName = new PdfPCell(new Phrase(course.getGroup(), groupNameFont));
        groupName.setBorder(2);
        groupNameTable.addCell(groupName);
        PdfPCell groupContent = new PdfPCell(groupNameTable);
        groupContent.setBorder(0);
        groupContent.setPaddingTop(3.0f);
        groupContent.setPaddingBottom(2.0f);
        groupTable.addCell(groupContent);
        float[] columnWidths = new float[columnCount];
        columnWidths[0] = (200 / columnCount);
        columnWidths[1] = (50 / columnCount);
        columnWidths[2] = (100 / columnCount);
        columnWidths[3] = (150 / columnCount);
        columnWidths[4] = (100 / columnCount);
        for (int i = 5; i < columnCount; i++) {
            columnWidths[i] = (100 / columnCount);
        }
        PdfPTable groupContentTable = new PdfPTable(columnWidths);
        /*
         * Create the titles of the table entries.
         */
        for (int i = 0; i < titles.size(); i++) {
            PdfPCell cell = new PdfPCell(new Phrase(titles.get(i), tableTitleFont));
            if (i != 0) {
                cell.setBorder(6);
            } else {
                cell.setBorder(2);
            }
            groupContentTable.addCell(cell);
        }

        PdfPCell cell = new PdfPCell(groupContentTable);
        cell.setBorder(0);
        groupTable.addCell(cell);
        sums.add(_("Sum"));
        sums.add("");
        sums.add("");
        sums.add("");
        sums.add(0.0);
        sums.add(0.0);
        for (Object balanceCourse : balanceCourses) {
            groupTable.addCell(addRow((BalanceCourse) balanceCourse, columnWidths, costUnits));
        }
        PdfPTable emptyRow = new PdfPTable(columnWidths);
        PdfPTable sumRow = new PdfPTable(columnWidths);
        for (int i = 0; i < sums.size(); i++) {
            cell = new PdfPCell(new Phrase(""));
            if (i != 0) {
                cell.setBorder(Rectangle.TOP + Rectangle.LEFT);
            } else {
                cell.setBorder(Rectangle.TOP);
            }
            emptyRow.addCell(cell);
            if (i < 4) {
                cell = new PdfPCell(new Phrase(new Phrase(sums.get(i).toString(), tableContentFont)));
            } else {
                /*
                 * Round to the configured precision.
                 */
                int decimalPlace = Integer.parseInt(Runtime.getInstance().getOption("rounding", "2"));
                double rounded = new BigDecimal((Double) sums.get(i))
                        .setScale(decimalPlace, BigDecimal.ROUND_HALF_EVEN).doubleValue();
                cell = new PdfPCell(
                        new Phrase(new BigDecimal(rounded).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString(),
                                tableContentFont));
            }
            if (i != 0) {
                cell.setBorder(Rectangle.TOP + Rectangle.LEFT);
            } else {
                cell.setBorder(Rectangle.TOP);
            }
            sumRow.addCell(cell);
        }
        cell = new PdfPCell(emptyRow);
        cell.setBorder(0);
        groupTable.addCell(cell);
        cell = new PdfPCell(sumRow);
        cell.setBorder(0);
        groupTable.addCell(cell);
        groupTable.setKeepTogether(true);

        balanceReportGroups.add(new ArrayList<Object>());
        int i = balanceReportGroups.size() - 1;
        ((ArrayList) balanceReportGroups.get(i)).add(groupTable);
        ((ArrayList) balanceReportGroups.get(i)).add(course.getGroup());

        return groupTable;
    } catch (DocumentException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return null;
}

From source file:facturacion.pdf.FacturaPdf.java

private PdfPCell getCell(String text) throws DocumentException, IOException {
    Chunk chunk = new Chunk();
    chunk.append(text);/*from  ww w  .  j  ava  2 s  .  c o m*/
    chunk.setFont(fontNormal);
    PdfPCell cell = new PdfPCell(new Paragraph(chunk));
    cell.setHorizontalAlignment(Element.ALIGN_LEFT);
    cell.setBorder(Rectangle.LEFT);
    return cell;
}

From source file:Funciones.TicketPDF.java

PdfPTable tablaFooter() {
    PdfPTable tablafooter = new PdfPTable(2);
    PdfPTable cantidades = new PdfPTable(2);

    PdfPCell celdasubtotal = new PdfPCell(new Paragraph("Subtotal", f));
    cantidades.addCell(celdasubtotal);//from  w ww.jav a  2  s .c  o  m
    PdfPCell subtotalcantidad = new PdfPCell(new Paragraph("$" + totales[0], f));
    cantidades.addCell(subtotalcantidad);
    PdfPCell celdaiva = new PdfPCell(new Paragraph("I.V.A.", f));
    cantidades.addCell(celdaiva);
    PdfPCell ivacantidad = new PdfPCell(new Paragraph("$" + totales[1], f));
    cantidades.addCell(ivacantidad);
    PdfPCell celdatotal = new PdfPCell(new Paragraph("Total", f));
    cantidades.addCell(celdatotal);
    PdfPCell totalcantidad = new PdfPCell(new Paragraph("$" + totales[2], f));
    cantidades.addCell(totalcantidad);
    PdfPCell celdacantidades = new PdfPCell(cantidades);
    vacio = new PdfPCell(new Paragraph("!Que tenga un buen da!"));
    vacio.setColspan(1);
    vacio.setBorder(Rectangle.RIGHT | Rectangle.TOP | Rectangle.LEFT | Rectangle.BOTTOM);
    tablafooter.addCell(vacio);
    tablafooter.addCell(celdacantidades);
    return tablafooter;
}

From source file:org.openmrs.module.tracpatienttransfer.util.FileExporter.java

License:Open Source License

/**
 * @param request//from  ww  w  .  ja  v  a2s.  c om
 * @param response
 * @param res
 * @param filename
 * @param title
 * @throws Exception
 */
public void exportToPDF(HttpServletRequest request, HttpServletResponse response, List<Integer> res,
        String filename, String title) throws Exception {

    SimpleDateFormat sdf = Context.getDateFormat();

    Document document = new Document();

    response.setContentType("application/pdf");
    response.setHeader("Content-Disposition", "attachment; filename=\"" + filename + "\""); // file name

    PdfWriter writer = PdfWriter.getInstance(document, response.getOutputStream());
    writer.setBoxSize("art", new Rectangle(36, 54, 559, 788));

    float[] colsWidth = { 1.6f, 2.7f, 2.7f, 8f, 10.5f, 4f, 5f, 7.5f };//, 9.3f };
    PdfPTable table = new PdfPTable(colsWidth); // column number

    HeaderFooter event = new HeaderFooter(table);
    writer.setPageEvent(event);

    document.setPageSize(PageSize.A4.rotate());
    document.open();

    document.addAuthor(Context.getAuthenticatedUser().getPersonName().getFamilyName() + " "
            + Context.getAuthenticatedUser().getPersonName().getGivenName());// the name of the author

    ObsService os = Context.getObsService();
    FontSelector fontTitle = new FontSelector();
    fontTitle.addFont(new Font(FontFamily.HELVETICA, 8.0f, Font.BOLD));
    document.add(
            fontTitle.process(MohTracUtil.getMessage("tracpatienttransfer.report", null) + "    : " + title));// Report title
    document.add(fontTitle.process("\n" + MohTracUtil.getMessage("tracpatienttransfer.report.createdon", null)
            + " : " + sdf.format(new Date())));// Report date
    document.add(fontTitle.process("\n" + MohTracUtil.getMessage("tracpatienttransfer.report.createdby", null)
            + " : " + Context.getAuthenticatedUser().getPersonName()));// Report
    // author
    document.add(new Paragraph("\n"));

    Paragraph para = new Paragraph("" + title.toUpperCase());
    para.setAlignment(Element.ALIGN_CENTER);
    para.setFont(new Font(FontFamily.HELVETICA, 8.0f, Font.BOLD));
    document.add(para);

    table.setWidthPercentage(100.0f);

    // title row
    FontSelector fontTitleSelector = new FontSelector();
    fontTitleSelector.addFont(new Font(FontFamily.HELVETICA, 8, Font.BOLD));

    // top line of table
    for (int i = 0; i < 8; i++) {
        PdfPCell pdfPCell = new PdfPCell(fontTitleSelector.process(" "));
        pdfPCell.setBorder(PdfPCell.BOTTOM);
        table.addCell(pdfPCell);
    }

    boolean hasRoleToViewPatientsNames = Context.getAuthenticatedUser().hasPrivilege("View Patient Names");

    // table Header
    PdfPCell cell = new PdfPCell(
            fontTitleSelector.process(ContextProvider.getMessage("tracpatienttransfer.general.number")));
    cell.setBorder(Rectangle.LEFT);
    table.addCell(cell);

    cell = new PdfPCell(fontTitleSelector.process(Context.getPatientService()
            .getPatientIdentifierType(TracPatientTransferConfigurationUtil.getTracNetIdentifierTypeId())
            .getName()));
    cell.setBorder(Rectangle.NO_BORDER);
    table.addCell(cell);

    cell = new PdfPCell(
            fontTitleSelector.process(Context.getPatientService()
                    .getPatientIdentifierType(
                            TracPatientTransferConfigurationUtil.getLocalHealthCenterIdentifierTypeId())
                    .getName()));
    cell.setBorder(Rectangle.NO_BORDER);
    table.addCell(cell);

    if (hasRoleToViewPatientsNames) {
        cell = new PdfPCell(
                fontTitleSelector.process(ContextProvider.getMessage("tracpatienttransfer.general.names")));
        cell.setBorder(Rectangle.NO_BORDER);
        table.addCell(cell);
    }

    cell = new PdfPCell(
            fontTitleSelector.process(ContextProvider.getMessage("tracpatienttransfer.general.reasonofexit")));
    cell.setBorder(Rectangle.NO_BORDER);
    table.addCell(cell);

    cell = new PdfPCell(
            fontTitleSelector.process(ContextProvider.getMessage("tracpatienttransfer.general.exitwhen")));
    cell.setBorder(Rectangle.NO_BORDER);
    table.addCell(cell);

    cell = new PdfPCell(fontTitleSelector.process(ContextProvider.getMessage("Encounter.provider")));
    cell.setBorder(Rectangle.NO_BORDER);
    table.addCell(cell);

    cell = new PdfPCell(
            fontTitleSelector.process(ContextProvider.getMessage("tracpatienttransfer.report.location")));
    cell.setBorder(Rectangle.RIGHT);
    table.addCell(cell);

    //      cell = new PdfPCell(fontTitleSelector
    //            .process("Resumed? (reason - by who?)"));
    //      cell.setBorder(Rectangle.RIGHT);
    //      table.addCell(cell);

    // normal row
    FontSelector fontselector = new FontSelector();
    fontselector.addFont(new Font(FontFamily.HELVETICA, 7, Font.NORMAL));

    // empty row
    FontSelector fontEmptyCell = new FontSelector();
    fontEmptyCell.addFont(new Font(FontFamily.HELVETICA, 7, Font.NORMAL));

    int ids = 0;

    for (Integer obsId : res) {
        Obs obs = os.getObs(obsId);
        Integer patientId = obs.getPersonId();
        ids += 1;

        cell = new PdfPCell(fontselector.process(ids + "."));
        if (ids == 1)
            cell.setBorder(Rectangle.TOP);
        else
            cell.setBorder(Rectangle.NO_BORDER);
        table.addCell(cell);

        String tracnetId = TransferOutInPatientTag.personIdentifierByPatientIdAndIdentifierTypeId(patientId,
                TracPatientTransferConfigurationUtil.getTracNetIdentifierTypeId());
        cell = new PdfPCell(fontselector.process(tracnetId + ""));
        if (ids == 1)
            cell.setBorder(Rectangle.TOP);
        else
            cell.setBorder(Rectangle.NO_BORDER);
        table.addCell(cell);

        String localIdentifierTypeId = TransferOutInPatientTag.personIdentifierByPatientIdAndIdentifierTypeId(
                patientId, TracPatientTransferConfigurationUtil.getLocalHealthCenterIdentifierTypeId());
        cell = new PdfPCell(fontselector.process(localIdentifierTypeId + ""));
        if (ids == 1)
            cell.setBorder(Rectangle.TOP);
        else
            cell.setBorder(Rectangle.NO_BORDER);
        table.addCell(cell);

        if (hasRoleToViewPatientsNames) {
            String names = TransferOutInPatientTag.getPersonNames(patientId);
            cell = new PdfPCell(fontselector.process(names + ""));
            if (ids == 1)
                cell.setBorder(Rectangle.TOP);
            else
                cell.setBorder(Rectangle.NO_BORDER);
            table.addCell(cell);
        }

        String conceptValue = TransferOutInPatientTag.conceptValueByObs(obs);

        conceptValue += ((obs.getValueCoded().getConceptId()
                .intValue() == TransferOutInPatientConstant.PATIENT_TRANSFERED_OUT)
                        ? " (" + TransferOutInPatientTag.getObservationValueFromEncounter(obs,
                                TransferOutInPatientConstant.TRANSFER_OUT_TO_A_LOCATION) + ")"
                        : (obs.getValueCoded().getConceptId()
                                .intValue() == TransferOutInPatientConstant.PATIENT_DEAD)
                                        ? " (" + TransferOutInPatientTag.getObservationValueFromEncounter(obs,
                                                TransferOutInPatientConstant.CAUSE_OF_DEATH) + ")"
                                        : "");

        cell = new PdfPCell(fontselector.process(conceptValue));
        if (ids == 1)
            cell.setBorder(Rectangle.TOP);
        else
            cell.setBorder(Rectangle.NO_BORDER);
        table.addCell(cell);

        cell = new PdfPCell(fontselector.process(sdf.format(obs.getObsDatetime())));
        if (ids == 1)
            cell.setBorder(Rectangle.TOP);
        else
            cell.setBorder(Rectangle.NO_BORDER);
        table.addCell(cell);

        /*
         * cell=newPdfPCell(fontselector.process(TransferOutInPatientTag.
         * getProviderByObs(obs))); if(ids==1)
         * cell.setBorder(Rectangle.TOP); else
         * cell.setBorder(Rectangle.NO_BORDER);
         */table.addCell(cell);

        cell = new PdfPCell(fontselector.process(obs.getLocation().getName()));
        if (ids == 1)
            cell.setBorder(Rectangle.TOP);
        else
            cell.setBorder(Rectangle.NO_BORDER);
        table.addCell(cell);

        //         cell = new PdfPCell(fontselector.process(TransferOutInPatientTag
        //               .obsVoidedReason(obs)));
        //         if (ids == 1)
        //            cell.setBorder(Rectangle.TOP);
        //         else
        //            cell.setBorder(Rectangle.NO_BORDER);
        //         table.addCell(cell);
    }

    document.add(table);
    document.close();

    log.info("pdf file created");
}

From source file:Servlets.GenerarPinesGrupo.java

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

    String[] idEstudiante = req.getParameterValues("imprimir");

    resp.setContentType("application/pdf");
    OutputStream out = resp.getOutputStream();

    String foto = getServletContext().getRealPath("/recursos/img/logoColegio.png");
    req.setCharacterEncoding("UTF-8");

    try {/*from w  ww  .j  a v  a 2  s. c  om*/
        try {
            Document documento = new Document();
            PdfWriter.getInstance(documento, out);

            documento.open();

            Paragraph par1 = new Paragraph();
            Font fontit = new Font(Font.FontFamily.HELVETICA, 16, Font.BOLD, BaseColor.GRAY);
            par1.add(new Phrase("Pin de Acceso HeartsTics", fontit));
            par1.setAlignment(Element.ALIGN_CENTER);
            par1.add(new Phrase(Chunk.NEWLINE));
            par1.add(new Phrase(Chunk.NEWLINE));
            documento.add(par1);
            //                Image image = Image.getInstance("E:\\ArchivosVarios\\logoColegio.png");
            //                image.scalePercent(50);
            Image image = Image.getInstance(foto);
            image.scalePercent(60);

            Font fuentetabla = FontFactory.getFont("Arial", 8, Font.BOLD, BaseColor.BLACK);
            Font fuentetablaPin = FontFactory.getFont("Arial", 10, Font.BOLD, BaseColor.BLACK);
            Font fuentetablaHeader = FontFactory.getFont("Arial", 9, Font.BOLD, BaseColor.BLACK);
            Servicio controlador = new Servicio();
            for (int i = 0; i < idEstudiante.length; i++) {
                int idEst = Integer.parseInt(idEstudiante[i]);
                Pin estudiante = controlador.pinEstudiante(idEst);
                PdfPTable tabla = new PdfPTable(3);

                tabla.setWidthPercentage(60);

                PdfPCell celdaHeader = new PdfPCell(
                        new Paragraph("COLEGIO SAGRADOS CORAZONES", fuentetablaHeader));
                celdaHeader.setVerticalAlignment(Element.ALIGN_MIDDLE);
                celdaHeader.setHorizontalAlignment(Element.ALIGN_CENTER);
                celdaHeader.setColspan(3);
                tabla.addCell(celdaHeader);
                PdfPCell celda01 = new PdfPCell(image);
                //PdfPCell celda01 = new PdfPCell(new Paragraph("imagen"));
                celda01.setHorizontalAlignment(Element.ALIGN_CENTER);
                celda01.setVerticalAlignment(Element.ALIGN_MIDDLE);
                celda01.setRowspan(2);
                celda01.setBorder(Rectangle.NO_BORDER);
                celda01.setBorder(Rectangle.LEFT);
                tabla.addCell(celda01);

                PdfPCell celda1 = new PdfPCell(new Paragraph(
                        "Estudiante: " + estudiante.getNombres() + " " + estudiante.getApellidos(),
                        fuentetabla));
                PdfPCell celda2 = new PdfPCell(new Paragraph("Pin: " + estudiante.getIdPin(), fuentetablaPin));
                PdfPCell celda3 = new PdfPCell(
                        new Paragraph("Fecha creacion: " + estudiante.getInicio(), fuentetabla));
                PdfPCell celda4 = new PdfPCell(
                        new Paragraph("Fecha vencimiento: " + estudiante.getFin(), fuentetabla));

                celda1.setHorizontalAlignment(Element.ALIGN_CENTER);
                celda1.setVerticalAlignment(Element.ALIGN_MIDDLE);
                celda1.setColspan(2);
                celda1.setBorder(Rectangle.NO_BORDER);
                celda1.setBorder(Rectangle.RIGHT);

                celda2.setHorizontalAlignment(Element.ALIGN_CENTER);
                celda2.setVerticalAlignment(Element.ALIGN_MIDDLE);
                celda2.setColspan(2);
                celda2.setBorder(Rectangle.NO_BORDER);
                celda2.setBorder(Rectangle.RIGHT);

                PdfPTable tableFecha = new PdfPTable(2);
                tableFecha.setWidthPercentage(60);
                celda3.setHorizontalAlignment(Element.ALIGN_CENTER);
                celda4.setHorizontalAlignment(Element.ALIGN_CENTER);

                tabla.addCell(celda1);
                tabla.addCell(celda2);
                tableFecha.addCell(celda3);
                tableFecha.addCell(celda4);
                Paragraph par2 = new Paragraph();

                par2.add(new Phrase(Chunk.NEWLINE));
                documento.add(par2);

                documento.add(tabla);
                documento.add(tableFecha);

            }
            documento.close();

        } catch (Exception e) {
            e.getMessage();
        }
    } finally {
        out.close();
    }

}

From source file:Servlets.GenerarPinEstudiante.java

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

    int idEstudiante = Integer.parseInt(req.getParameter("idEst"));

    resp.setContentType("application/pdf");
    OutputStream out = resp.getOutputStream();

    String foto = getServletContext().getRealPath("/recursos/img/logoColegio.png");
    req.setCharacterEncoding("UTF-8");

    try {/*from  w  ww.ja  va2s  . c  o  m*/
        try {
            Document documento = new Document();
            PdfWriter.getInstance(documento, out);

            documento.open();

            Paragraph par1 = new Paragraph();
            Font fontit = new Font(Font.FontFamily.HELVETICA, 16, Font.BOLD, BaseColor.GRAY);
            par1.add(new Phrase("Pin de Acceso HeartsTics", fontit));
            par1.setAlignment(Element.ALIGN_CENTER);
            par1.add(new Phrase(Chunk.NEWLINE));
            par1.add(new Phrase(Chunk.NEWLINE));
            documento.add(par1);
            //                Image image = Image.getInstance("E:\\ArchivosVarios\\logoColegio.png");
            //                image.scalePercent(50);
            Image image = Image.getInstance(foto);
            image.scalePercent(60);

            Font fuentetabla = FontFactory.getFont("Arial", 8, Font.BOLD, BaseColor.BLACK);
            Font fuentetablaPin = FontFactory.getFont("Arial", 10, Font.BOLD, BaseColor.BLACK);
            Font fuentetablaHeader = FontFactory.getFont("Arial", 9, Font.BOLD, BaseColor.BLACK);

            Servicio controlador = new Servicio();
            Pin estudiante = controlador.pinEstudiante(idEstudiante);
            PdfPTable tabla = new PdfPTable(3);

            tabla.setWidthPercentage(60);

            PdfPCell celdaHeader = new PdfPCell(new Paragraph("COLEGIO SAGRADOS CORAZONES", fuentetablaHeader));
            celdaHeader.setVerticalAlignment(Element.ALIGN_MIDDLE);
            celdaHeader.setHorizontalAlignment(Element.ALIGN_CENTER);
            celdaHeader.setColspan(3);
            tabla.addCell(celdaHeader);
            PdfPCell celda01 = new PdfPCell(image);
            //PdfPCell celda01 = new PdfPCell(new Paragraph("imagen"));
            celda01.setHorizontalAlignment(Element.ALIGN_CENTER);
            celda01.setVerticalAlignment(Element.ALIGN_MIDDLE);
            celda01.setRowspan(2);
            celda01.setBorder(Rectangle.NO_BORDER);
            celda01.setBorder(Rectangle.LEFT);
            tabla.addCell(celda01);

            PdfPCell celda1 = new PdfPCell(new Paragraph(
                    "Estudiante: " + estudiante.getNombres() + " " + estudiante.getApellidos(), fuentetabla));
            PdfPCell celda2 = new PdfPCell(new Paragraph("Pin: " + estudiante.getIdPin(), fuentetablaPin));
            PdfPCell celda3 = new PdfPCell(
                    new Paragraph("Fecha creacion: " + estudiante.getInicio(), fuentetabla));
            PdfPCell celda4 = new PdfPCell(
                    new Paragraph("Fecha vencimiento: " + estudiante.getFin(), fuentetabla));

            celda1.setHorizontalAlignment(Element.ALIGN_CENTER);
            celda1.setVerticalAlignment(Element.ALIGN_MIDDLE);
            celda1.setColspan(2);
            celda1.setBorder(Rectangle.NO_BORDER);
            celda1.setBorder(Rectangle.RIGHT);

            celda2.setHorizontalAlignment(Element.ALIGN_CENTER);
            celda2.setVerticalAlignment(Element.ALIGN_MIDDLE);
            celda2.setColspan(2);
            celda2.setBorder(Rectangle.NO_BORDER);
            celda2.setBorder(Rectangle.RIGHT);

            PdfPTable tableFecha = new PdfPTable(2);
            tableFecha.setWidthPercentage(60);
            celda3.setHorizontalAlignment(Element.ALIGN_CENTER);
            celda4.setHorizontalAlignment(Element.ALIGN_CENTER);

            tabla.addCell(celda1);
            tabla.addCell(celda2);
            tableFecha.addCell(celda3);
            tableFecha.addCell(celda4);
            Paragraph par2 = new Paragraph();

            par2.add(new Phrase(Chunk.NEWLINE));
            documento.add(par2);

            documento.add(tabla);
            documento.add(tableFecha);

            documento.close();

        } catch (Exception e) {
            e.getMessage();
        }
    } finally {
        out.close();
    }

}

From source file:zeugnis.ZeugnisPDF.java

/**
* Erzeugt das Zeugnis PDF in einem definierten Ordner
* @throws IOException/*  w  w  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();
}