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:es.sm2.openppm.front.utils.DocumentUtils.java

License:Open Source License

/**
 * Create PDF for Control Change//from   ww  w  . j ava 2s  .  com
 * @param idioma
 * @param project
 * @param change
 * @param preparedBy
 * @return
 * @throws DocumentException
 * @throws LogicException
 */
public static byte[] toPdf(ResourceBundle idioma, Project project, Changecontrol change, Employee preparedBy,
        final Image headerImg, final Image footerImg) throws DocumentException, LogicException {

    if (change == null) {
        throw new DocumentException("No change control found.");
    }

    if (preparedBy == null || preparedBy.getContact() == null) {
        throw new UserSendingException();
    }

    Document document = new Document(PageSize.A4);
    document.setMargins(70F, 70F, 38F, 38F); // Total Height: 842pt, Total Width: 595pt
    byte[] file = null;

    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
    @SuppressWarnings("unused")
    PdfWriter pdfWriter = PdfWriter.getInstance(document, outputStream);

    document.open();

    Font fontHeader = new Font(FontFamily.TIMES_ROMAN, 9, Font.BOLD);
    Font fontCell = new Font(FontFamily.TIMES_ROMAN, 9);
    Font tituloFont = new Font(FontFamily.TIMES_ROMAN, 16, Font.BOLD);

    document.add(new Paragraph(" ", tituloFont));
    document.add(new Paragraph(" ", tituloFont));
    document.add(new Paragraph(" ", fontHeader));
    Paragraph title = new Paragraph(idioma.getString("change_request").toUpperCase(), tituloFont);
    title.setAlignment(Paragraph.ALIGN_CENTER);
    document.add(title);

    // Header Table
    // Project info
    PdfPTable tableHeader = new PdfPTable(3);
    tableHeader.setWidthPercentage(100);
    tableHeader.setSpacingBefore(10);
    tableHeader.setSpacingAfter(15);

    int[] colWidth = new int[3];
    colWidth[0] = 40;
    colWidth[1] = 30;
    colWidth[2] = 30;
    tableHeader.setWidths(colWidth);

    tableHeader.addCell(
            prepareHeaderCell(idioma.getString("change_request.project_name"), fontHeader, 1F, 0F, 0F, 1F));
    tableHeader.addCell(
            prepareHeaderCell(idioma.getString("change_request.prepared_by"), fontHeader, 1F, 0F, 0F, 1F));
    tableHeader.addCell(prepareHeaderCell(idioma.getString("change_request.date"), fontHeader, 1F, 1F, 0F, 1F));

    tableHeader.addCell(prepareCell(project.getProjectName() + " / " + project.getAccountingCode(), fontCell,
            0F, 0F, 0F, 1F));
    tableHeader.addCell(prepareCell(preparedBy.getContact().getFullName(), fontCell, 0F, 0F, 0F, 1F));
    tableHeader.addCell(prepareCell(DateUtil.format(idioma, new Date()), fontCell, 0F, 1F, 0F, 1F));

    tableHeader.addCell(
            prepareHeaderCell(idioma.getString("change_request.customer"), fontHeader, 1F, 0F, 0F, 1F));
    tableHeader.addCell(
            prepareHeaderCell(idioma.getString("change_request.contact_name"), fontHeader, 1F, 0F, 0F, 1F));
    tableHeader.addCell(
            prepareHeaderCell(idioma.getString("change_request.customer_type"), fontHeader, 1F, 1F, 0F, 1F));

    tableHeader.addCell(prepareCell(project.getCustomer() != null ? project.getCustomer().getName() : "",
            fontCell, 0F, 0F, 0F, 1F));
    tableHeader.addCell(prepareCell((project.getCustomer() != null ? project.getCustomer().getName() : "-"),
            fontCell, 0F, 0F, 0F, 1F));

    Customertype cusType = (project.getCustomer() != null ? project.getCustomer().getCustomertype() : null);
    tableHeader.addCell(prepareCell(cusType == null ? "" : cusType.getName(), fontCell, 0F, 1F, 0F, 1F));

    tableHeader.addCell(
            prepareHeaderCell(idioma.getString("change_request.business_manager"), fontHeader, 1F, 0F, 0F, 1F));
    tableHeader.addCell(
            prepareHeaderCell(idioma.getString("change_request.project_manager"), fontHeader, 1F, 0F, 0F, 1F));
    tableHeader.addCell(
            prepareHeaderCell(idioma.getString("change_request.originator"), fontHeader, 1F, 1F, 0F, 1F));

    Employee bm = project.getEmployeeByFunctionalManager();
    Employee pm = project.getEmployeeByProjectManager();

    tableHeader.addCell(prepareCell(bm == null ? "" : bm.getContact().getFullName(), fontCell, 0F, 0F, 1F, 1F));
    tableHeader.addCell(prepareCell(pm == null ? "" : pm.getContact().getFullName(), fontCell, 0F, 0F, 1F, 1F));
    tableHeader.addCell(prepareCell(change.getOriginator(), fontCell, 0F, 1F, 1F, 1F));

    document.add(tableHeader);

    // Change Information
    document.add(new Paragraph(idioma.getString("change_information")));

    PdfPTable tableInfo = new PdfPTable(1);
    tableInfo.setWidthPercentage(100);
    tableInfo.setSpacingBefore(10);
    tableInfo.setSpacingAfter(15);

    tableInfo.addCell(prepareHeaderCell(idioma.getString("change.change_type"), fontHeader, 1F, 1F, 0F, 1F));
    tableInfo.addCell(prepareCell(change.getChangetype().getDescription(), fontCell, 0F, 1F, 0F, 1F));

    String priorityDesc = "";
    if (change.getPriority().equals('H'))
        priorityDesc = idioma.getString("change.priority.high");
    if (change.getPriority().equals('N'))
        priorityDesc = idioma.getString("change.priority.normal");
    if (change.getPriority().equals('L'))
        priorityDesc = idioma.getString("change.priority.low");

    tableInfo.addCell(prepareHeaderCell(idioma.getString("change.priority"), fontHeader, 1F, 1F, 0F, 1F));
    tableInfo.addCell(prepareCell(priorityDesc, fontCell, 0F, 1F, 0F, 1F));

    tableInfo.addCell(prepareHeaderCell(idioma.getString("change.desc"), fontHeader, 1F, 1F, 0F, 1F));
    tableInfo.addCell(prepareCell(change.getDescription(), fontCell, 0F, 1F, 0F, 1F));

    tableInfo.addCell(
            prepareHeaderCell(idioma.getString("change.recommended_solution"), fontHeader, 1F, 1F, 0F, 1F));
    tableInfo.addCell(prepareCell(change.getRecommendedSolution(), fontCell, 0F, 1F, 1F, 1F));

    PdfPTable tableSubInfo = new PdfPTable(3);
    tableSubInfo.setWidthPercentage(100);

    //TODO MIGRACION
    tableSubInfo.addCell(prepareSubCell(idioma.getString("change.wbs_node"), fontHeader));
    tableSubInfo.addCell(prepareSubCell(idioma.getString("change.estimated_effort"), fontHeader));
    tableSubInfo.addCell(prepareSubCell(idioma.getString("change.estimated_cost"), fontHeader));

    tableSubInfo.addCell(
            prepareSubCell((change.getWbsnode() != null ? change.getWbsnode().getName() : ""), fontCell));
    tableSubInfo.addCell(prepareSubCell(
            (change.getEstimatedEffort() != null ? String.valueOf(change.getEstimatedEffort()) : ""),
            fontCell));
    tableSubInfo.addCell(prepareSubCell(
            (change.getEstimatedCost() != null ? ValidateUtil.toCurrency(change.getEstimatedCost()) : ""),
            fontCell));

    PdfPCell subTable = new PdfPCell(tableSubInfo);
    subTable.setBorderWidth(1F);

    tableInfo.addCell(subTable);

    tableInfo.addCell(prepareHeaderCell(idioma.getString("change.impact_desc"), fontHeader, 1F, 1F, 0F, 1F));
    tableInfo.addCell(prepareCell(change.getImpactDescription(), fontCell, 0F, 1F, 1F, 1F));

    document.add(tableInfo);

    document.add(new Paragraph(idioma.getString("change.resolution")));

    PdfPTable tableResolution = new PdfPTable(1);
    tableResolution.setWidthPercentage(100);
    tableResolution.setSpacingBefore(10);
    tableResolution.setSpacingAfter(15);

    tableResolution
            .addCell(prepareHeaderCell(idioma.getString("change.resolution"), fontHeader, 1F, 1F, 0F, 1F));
    tableResolution.addCell(
            prepareCell((change.getResolution() != null && change.getResolution() ? idioma.getString("yes")
                    : idioma.getString("no")), fontCell, 0F, 1F, 0F, 1F));

    tableResolution
            .addCell(prepareHeaderCell(idioma.getString("change.resolution_date"), fontHeader, 1F, 1F, 0F, 1F));
    tableResolution.addCell(
            prepareCell(DateUtil.format(idioma, change.getResolutionDate()), fontCell, 0F, 1F, 0F, 1F));

    tableResolution.addCell(
            prepareHeaderCell(idioma.getString("change.resolution_reason"), fontHeader, 1F, 1F, 0F, 1F));
    tableResolution.addCell(prepareCell(change.getResolutionReason(), fontCell, 0F, 1F, 1F, 1F));

    document.add(tableResolution);

    document.close();

    try {

        PdfReader reader = new PdfReader(outputStream.toByteArray());
        PdfStamper stamper = new PdfStamper(reader, outputStream);

        int numPag = reader.getNumberOfPages();

        for (int i = 1; i <= reader.getNumberOfPages(); i++) {
            setHeaderFooter(i, numPag, headerImg, footerImg, reader, stamper, idioma);
        }

        stamper.close();
    } catch (IOException e) {
        e.printStackTrace();
    }

    file = outputStream.toByteArray();

    return file;
}

From source file:facturacion.pdf.FacturaPdf.java

private PdfPTable getTable() throws DocumentException {
    PdfPTable table = new PdfPTable(5);
    table.setWidths(new int[] { 5, 25, 5, 5, 5 });
    return table;
}

From source file:facturacion.pdf.FacturaPdf.java

private PdfPTable getTableTotal() throws DocumentException {
    //PdfPTable table = new PdfPTable(7);
    //table.setWidths(new int[]{5, 5, 5, 5, 5, 5, 5});
    PdfPTable table = new PdfPTable(11);
    table.setWidths(new int[] { 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 });
    return table;
}

From source file:facturacion.pdf.FacturaPdf.java

private PdfPTable getTableCabecera() throws DocumentException, IOException {
    PdfPTable table = new PdfPTable(5);
    table.setWidths(new int[] { 8, 20, 2, 8, 9 });

    table.addCell(getCellBorderTop("Proeedor:"));
    table.addCell(getCellBorderTop(this.pedido.getProveedor_ci_ruc()));
    table.addCell(getCellBorderTop("  "));
    table.addCell(getCellBorderTop(" "));
    table.addCell(getCellBorderTop(" "));

    table.addCell(getCellNoBorder("Razon social:"));
    table.addCell(getCellNoBorder(this.pedido.getProveedor_razon_social()));
    table.addCell(getCellNoBorder("  "));
    table.addCell(getCellNoBorder(" "));
    table.addCell(getCellNoBorder(" "));

    table.addCell(getCellNoBorder("Vendedor:"));
    table.addCell(getCellNoBorder(this.pedido.getVendedor_ci_ruc()));
    table.addCell(getCellNoBorder("  "));
    table.addCell(getCellNoBorder(" "));
    table.addCell(getCellNoBorder(" "));

    table.addCell(getCellNoBorder("Factura:"));
    table.addCell(//w  w  w  .  j a  v  a2s .  c om
            getCellNoBorder(this.pedido.getEstablecimiento_proovedor() + "-" + this.pedido.getPunto_emision()
                    + "-" + complete_Numero_documento(this.pedido.getNumero_documento())));
    table.addCell(getCellNoBorder("  "));
    table.addCell(getCellNoBorder(" "));
    table.addCell(getCellNoBorder(" "));

    table.addCell(getCellNoBorder("  "));
    table.addCell(getCellNoBorder("  "));
    table.addCell(getCellNoBorder("  "));
    table.addCell(getCellNoBorder("  "));
    table.addCell(getCellNoBorder("  "));

    table.addCell(getCellBorderTop("Cliente:"));
    table.addCell(getCellBorderTop(this.pedido.getCliente_ci_ruc()));
    table.addCell(getCellBorderTop("  "));
    table.addCell(getCellBorderTop("Fecha:"));
    table.addCell(getCellBorderTop(this.pedido.getFechaFactura()));

    table.addCell(getCellNoBorder("Razon Social:"));
    table.addCell(getCellNoBorder(this.pedido.getCliente_razon_social()));
    table.addCell(getCellNoBorder("  "));
    table.addCell(getCellNoBorder("Dias Credito:"));
    table.addCell(getCellNoBorder("" + this.pedido.getDias_credito()));

    table.addCell(getCellNoBorder("Direccion:"));
    table.addCell(getCellNoBorder(this.pedido.getDireccion()));
    table.addCell(getCellNoBorder("  "));
    table.addCell(getCellNoBorder("Forma de Pago:"));
    table.addCell(getCellNoBorder(this.pedido.getForma_pago()));

    table.addCell(getCellNoBorder("Establecimiento:"));
    table.addCell(getCellNoBorder(this.pedido.getEstablecimiento_cliente()));
    table.addCell(getCellNoBorder("  "));
    table.addCell(getCellNoBorder("  "));
    table.addCell(getCellNoBorder("  "));

    return table;
}

From source file:fc.extensions.itext.Writer.java

License:MIT License

public PdfPTable createTable(int columns, float width, int[] columnWidthScale) throws DocumentException {
    PdfPTable pdfTable = new PdfPTable(columns);
    //table.setTableEvent(null);
    pdfTable.setTotalWidth(width);/*  ww  w . j  ava 2  s  .co  m*/
    pdfTable.setWidths(columnWidthScale);
    return pdfTable;
}

From source file:file.PDFWriter.java

License:Open Source License

/**
 * Add the page number and line to the PDF
 * @param splitLines the array of line segments to print
 * @param page the page number the line was on
 * @throws DocumentException /*from   w ww . ja v  a2s .co  m*/
 */
private void addLineTableToPDF(String[] splitLines, String page) throws DocumentException {
    PdfPTable lineTable = new PdfPTable(2);
    PdfPCell pageCell = new PdfPCell(new Paragraph("Page: " + page, lineFont));
    pageCell.setPadding(20);
    pageCell.setPaddingLeft(0);
    pageCell.setBorder(PdfPCell.NO_BORDER);
    Chunk lineSegment1 = new Chunk(splitLines[0]);
    lineSegment1.setFont(lineFont);
    Chunk error1 = new Chunk(splitLines[1]);
    error1.setFont(lineFontBold);
    Chunk lineSegment2 = new Chunk(splitLines[2]);
    lineSegment2.setFont(lineFont);
    Chunk error2 = new Chunk(splitLines[3]);
    error2.setFont(lineFontBold);
    Chunk lineSegment3 = new Chunk(splitLines[4]);
    lineSegment3.setFont(lineFont);

    Phrase line = new Phrase(lineSegment1);
    line.add(error1);
    line.add(lineSegment2);
    line.add(error2);
    line.add(lineSegment3);

    PdfPCell lineCell = new PdfPCell(line);
    lineCell.setPadding(20);
    lineCell.setBorder(PdfPCell.NO_BORDER);
    lineTable.setWidthPercentage(100);
    lineTable.setWidths(new int[] { 2, 10 });
    lineTable.setSpacingBefore(1f);
    lineTable.setSpacingAfter(1f);

    lineTable.addCell(pageCell);
    lineTable.addCell(lineCell);
    document.add(lineTable);
    document.add(Chunk.NEWLINE);
}

From source file:fll.scheduler.TournamentSchedule.java

License:Open Source License

/**
 * Output the schedule sorted by team number. This schedule looks much like
 * the input spreadsheet.//  w  ww. j  a v a  2s  . co  m
 * 
 * @param stream where to write the schedule
 * @throws DocumentException
 */
public void outputScheduleByTeam(final OutputStream stream) throws DocumentException {
    final Document pdf = PdfUtils.createLandscapePdfDoc(stream, new SimpleFooterHandler());

    final int numColumns = 5 + subjectiveStations.size() + getNumberOfRounds() * 2;
    final PdfPTable table = PdfUtils.createTable(numColumns);
    final float[] columnWidths = new float[numColumns];
    int idx = 0;
    columnWidths[idx] = 2; // team number
    ++idx;
    columnWidths[idx] = 3; // team name
    ++idx;
    columnWidths[idx] = 3; // organization
    ++idx;
    columnWidths[idx] = 2; // judging group
    ++idx;
    columnWidths[idx] = 2; // division
    ++idx;
    for (int i = 0; i < subjectiveStations.size(); ++i) {
        columnWidths[idx] = 2; // time
        ++idx;
    }
    for (int i = 0; i < getNumberOfRounds(); ++i) {
        columnWidths[idx] = 2; // time
        ++idx;
        columnWidths[idx] = 2; // table
        ++idx;
    }
    table.setWidths(columnWidths);

    final PdfPCell tournamentCell = PdfUtils.createHeaderCell("Tournament: " + getName());
    tournamentCell.setColspan(numColumns);

    table.addCell(tournamentCell);

    table.addCell(PdfUtils.createHeaderCell(TEAM_NUMBER_HEADER));
    table.addCell(PdfUtils.createHeaderCell(TEAM_NAME_HEADER));
    table.addCell(PdfUtils.createHeaderCell(ORGANIZATION_HEADER));
    table.addCell(PdfUtils.createHeaderCell(JUDGE_GROUP_HEADER));
    table.addCell(PdfUtils.createHeaderCell(AWARD_GROUP_HEADER));
    for (final String subjectiveStation : subjectiveStations) {
        table.addCell(PdfUtils.createHeaderCell(subjectiveStation));
    }
    for (int round = 0; round < getNumberOfRounds(); ++round) {
        table.addCell(PdfUtils.createHeaderCell(String.format(PERF_HEADER_FORMAT, round + 1)));
        table.addCell(PdfUtils.createHeaderCell(String.format(TABLE_HEADER_FORMAT, round + 1)));
    }
    table.setHeaderRows(2);

    Collections.sort(_schedule, ComparatorByTeam.INSTANCE);
    for (final TeamScheduleInfo si : _schedule) {
        table.addCell(PdfUtils.createCell(String.valueOf(si.getTeamNumber())));
        table.addCell(PdfUtils.createCell(si.getTeamName()));
        table.addCell(PdfUtils.createCell(si.getOrganization()));
        table.addCell(PdfUtils.createCell(si.getJudgingGroup()));
        table.addCell(PdfUtils.createCell(si.getAwardGroup()));

        for (final String subjectiveStation : subjectiveStations) {
            table.addCell(
                    PdfUtils.createCell(formatTime(si.getSubjectiveTimeByName(subjectiveStation).getTime())));
        }

        for (int round = 0; round < getNumberOfRounds(); ++round) {
            final PerformanceTime perf = si.getPerf(round);

            table.addCell(PdfUtils.createCell(formatTime(perf.getTime())));

            table.addCell(PdfUtils.createCell(String.format("%s %s", perf.getTable(), perf.getSide())));
        }

    }

    pdf.add(table);

    pdf.close();
}

From source file:fll.scheduler.TournamentSchedule.java

License:Open Source License

private void outputPerformanceSchedule(final Document detailedSchedules) throws DocumentException {
    final SortedMap<PerformanceTime, TeamScheduleInfo> performanceTimes = new TreeMap<PerformanceTime, TeamScheduleInfo>();
    for (int round = 0; round < getNumberOfRounds(); ++round) {
        for (final TeamScheduleInfo si : _schedule) {
            performanceTimes.put(si.getPerf(round), si);
        }/*from  w w  w  . j a v  a2  s.  co m*/
    }

    // list of teams staying around to even up the teams
    final List<TeamScheduleInfo> teamsStaying = new LinkedList<TeamScheduleInfo>();

    final PdfPTable table = PdfUtils.createTable(7);
    table.setWidths(new float[] { 2, 1, 3, 3, 2, 2, 2 });

    final PdfPCell tournamentCell = PdfUtils.createHeaderCell("Tournament: " + getName() + " Performance");
    tournamentCell.setColspan(7);
    table.addCell(tournamentCell);

    table.addCell(PdfUtils.createHeaderCell(TEAM_NUMBER_HEADER));
    table.addCell(PdfUtils.createHeaderCell(DIVISION_HEADER));
    table.addCell(PdfUtils.createHeaderCell(ORGANIZATION_HEADER));
    table.addCell(PdfUtils.createHeaderCell(TEAM_NAME_HEADER));
    table.addCell(PdfUtils.createHeaderCell("Time"));
    table.addCell(PdfUtils.createHeaderCell("Table"));
    table.addCell(PdfUtils.createHeaderCell("Round"));
    table.setHeaderRows(1);

    for (final Map.Entry<PerformanceTime, TeamScheduleInfo> entry : performanceTimes.entrySet()) {
        final PerformanceTime performance = entry.getKey();
        final TeamScheduleInfo si = entry.getValue();
        final int round = si.computeRound(performance);

        // check if team needs to stay and color the cell magenta if they do
        final BaseColor backgroundColor;
        if (null != checkIfTeamNeedsToStay(si, round)) {
            teamsStaying.add(si);
            backgroundColor = BaseColor.MAGENTA;
        } else {
            backgroundColor = null;
        }

        table.addCell(PdfUtils.createCell(String.valueOf(si.getTeamNumber())));
        table.addCell(PdfUtils.createCell(si.getAwardGroup()));
        table.addCell(PdfUtils.createCell(si.getOrganization()));
        table.addCell(PdfUtils.createCell(si.getTeamName()));
        table.addCell(PdfUtils.createCell(formatTime(si.getPerfTime(round)), backgroundColor));
        table.addCell(PdfUtils.createCell(si.getPerfTableColor(round) + " " + si.getPerfTableSide(round),
                backgroundColor));
        table.addCell(PdfUtils.createCell(String.valueOf(round + 1)));
    }

    detailedSchedules.add(table);

    // output teams staying
    if (!teamsStaying.isEmpty()) {
        final String formatString = "Team %d will please stay at the table and compete again - score will not count.";
        final PdfPTable stayingTable = PdfUtils.createTable(1);
        for (final TeamScheduleInfo si : teamsStaying) {
            stayingTable.addCell(PdfUtils.createCell(
                    new Formatter().format(formatString, si.getTeamNumber()).toString(), BaseColor.MAGENTA));
        }
        detailedSchedules.add(stayingTable);

    }

    detailedSchedules.add(Chunk.NEXTPAGE);
}

From source file:fll.scheduler.TournamentSchedule.java

License:Open Source License

private void outputSubjectiveScheduleByDivision(final Document detailedSchedules,
        final String subjectiveStation) throws DocumentException {
    final PdfPTable table = PdfUtils.createTable(6);
    table.setWidths(new float[] { 2, 1, 3, 3, 2, 2 });

    final PdfPCell tournamentCell = PdfUtils
            .createHeaderCell("Tournament: " + getName() + " - " + subjectiveStation);
    tournamentCell.setColspan(6);/*from   w w w . ja v  a2 s  .c o  m*/
    table.addCell(tournamentCell);

    table.addCell(PdfUtils.createHeaderCell(TEAM_NUMBER_HEADER));
    table.addCell(PdfUtils.createHeaderCell(AWARD_GROUP_HEADER));
    table.addCell(PdfUtils.createHeaderCell(ORGANIZATION_HEADER));
    table.addCell(PdfUtils.createHeaderCell(TEAM_NAME_HEADER));
    table.addCell(PdfUtils.createHeaderCell(subjectiveStation));
    table.addCell(PdfUtils.createHeaderCell(JUDGE_GROUP_HEADER));
    table.setHeaderRows(2);

    Collections.sort(_schedule, getComparatorForSubjectiveByDivision(subjectiveStation));
    for (final TeamScheduleInfo si : _schedule) {
        table.addCell(PdfUtils.createCell(String.valueOf(si.getTeamNumber())));
        table.addCell(PdfUtils.createCell(si.getAwardGroup()));
        table.addCell(PdfUtils.createCell(si.getOrganization()));
        table.addCell(PdfUtils.createCell(si.getTeamName()));
        table.addCell(PdfUtils.createCell(formatTime(si.getSubjectiveTimeByName(subjectiveStation).getTime())));
        table.addCell(PdfUtils.createCell(si.getJudgingGroup()));
    }

    detailedSchedules.add(table);

}

From source file:fll.scheduler.TournamentSchedule.java

License:Open Source License

private void outputSubjectiveScheduleByTime(final Document detailedSchedules, final String subjectiveStation)
        throws DocumentException {
    final PdfPTable table = PdfUtils.createTable(6);
    table.setWidths(new float[] { 2, 1, 3, 3, 2, 2 });

    final PdfPCell tournamentCell = PdfUtils
            .createHeaderCell("Tournament: " + getName() + " - " + subjectiveStation);
    tournamentCell.setColspan(6);/* w  w w . j  a va 2  s .  c  o m*/
    table.addCell(tournamentCell);

    table.addCell(PdfUtils.createHeaderCell(TEAM_NUMBER_HEADER));
    table.addCell(PdfUtils.createHeaderCell(AWARD_GROUP_HEADER));
    table.addCell(PdfUtils.createHeaderCell(ORGANIZATION_HEADER));
    table.addCell(PdfUtils.createHeaderCell(TEAM_NAME_HEADER));
    table.addCell(PdfUtils.createHeaderCell(subjectiveStation));
    table.addCell(PdfUtils.createHeaderCell(JUDGE_GROUP_HEADER));
    table.setHeaderRows(2);

    Collections.sort(_schedule, getComparatorForSubjectiveByTime(subjectiveStation));
    for (final TeamScheduleInfo si : _schedule) {
        table.addCell(PdfUtils.createCell(String.valueOf(si.getTeamNumber())));
        table.addCell(PdfUtils.createCell(si.getAwardGroup()));
        table.addCell(PdfUtils.createCell(si.getOrganization()));
        table.addCell(PdfUtils.createCell(si.getTeamName()));
        table.addCell(PdfUtils.createCell(formatTime(si.getSubjectiveTimeByName(subjectiveStation).getTime())));
        table.addCell(PdfUtils.createCell(si.getJudgingGroup()));
    }

    detailedSchedules.add(table);

}