Example usage for com.lowagie.text.pdf PdfPCell PdfPCell

List of usage examples for com.lowagie.text.pdf PdfPCell PdfPCell

Introduction

In this page you can find the example usage for com.lowagie.text.pdf PdfPCell PdfPCell.

Prototype

public PdfPCell() 

Source Link

Document

Constructs an empty PdfPCell.

Usage

From source file:fr.opensagres.odfdom.converter.pdf.internal.stylable.StylableDocumentSection.java

License:Open Source License

private List<ColumnText> fillTable(float height) {
    // copy text for simulation
    List<ColumnText> tt = null;
    if (breakHandlingParent == null && colIdx >= layoutTable.getNumberOfColumns()) {
        // more column breaks than available column
        // we try not to lose content
        // but results may be different than in open office
        // anyway it is logical error made by document creator
        tt = new ArrayList<ColumnText>();
        ColumnText t = createColumnText();
        tt.add(t);// w  w w  . jav  a  2 s.  c  o  m
        for (int i = 0; i < texts.size(); i++) {
            PdfPTable table = new PdfPTable(1);
            table.setWidthPercentage(100.0f);
            PdfPCell cell = new PdfPCell();
            cell.setBorder(Table.NO_BORDER);
            cell.setPadding(0.0f);
            cell.setColumn(ColumnText.duplicate(texts.get(i)));
            table.addCell(cell);
            t.addElement(table);
        }
    } else {
        tt = new ArrayList<ColumnText>(texts);
        for (int i = 0; i < tt.size(); i++) {
            tt.set(i, ColumnText.duplicate(tt.get(i)));
        }
    }
    // clear layout table
    clearTable(layoutTable, true);
    setWidthIfNecessary();

    // try to fill cells with text
    ColumnText t = tt.get(0);
    for (PdfPCell cell : layoutTable.getRow(0).getCells()) {
        cell.setFixedHeight(height >= 0.0f ? height : -1.0f);
        cell.setColumn(ColumnText.duplicate(t));
        //
        t.setSimpleColumn(cell.getLeft() + cell.getPaddingLeft(),
                height >= 0.0f ? -height : PdfPRow.BOTTOM_LIMIT, cell.getRight() - cell.getPaddingRight(), 0);
        int res = 0;
        try {
            res = t.go(true);
        } catch (DocumentException e) {
            throw new ODFConverterException(e);
        }
        if (!ColumnText.hasMoreText(res)) {
            // no overflow in current column
            if (tt.size() == 1) {
                // no more text
                return null;
            } else {
                // some text waiting for new column
                tt.remove(0);
                t = tt.get(0);
            }
        }
    }
    return tt;
}

From source file:fr.opensagres.odfdom.converter.pdf.internal.stylable.StylableDocumentSection.java

License:Open Source License

public static SectionPdfPTable createLayoutTable(float width, float height,
        List<StyleColumnProperties> columnPropertiesList) {
    // create one row table which will layout section text
    int colCount = columnPropertiesList.size();
    int relativeWidths[] = new int[colCount];
    SectionPdfPTable table = new SectionPdfPTable(colCount);
    // add cells/*w w w  .jav a 2s.  c  o  m*/
    for (int i = 0; i < colCount; i++) {
        PdfPCell cell = new PdfPCell();
        cell.setBorder(Table.NO_BORDER);
        cell.setPadding(0.0f);
        cell.setColumn(createColumnText());
        cell.setFixedHeight(height >= 0.0f ? height : -1.0f);
        // apply styles to cell
        StyleColumnProperties columnProperties = columnPropertiesList.get(i);
        relativeWidths[i] = columnProperties.getRelWidth();
        cell.setPaddingLeft(
                columnProperties.getStartIndent() != null ? columnProperties.getStartIndent() : 0.0f);
        cell.setPaddingRight(columnProperties.getEndIndent() != null ? columnProperties.getEndIndent() : 0.0f);
        table.addCell(cell);
    }
    replaceTableCells(table);
    // set width
    try {
        table.setWidths(relativeWidths);
    } catch (DocumentException e) {
        throw new ODFConverterException(e);
    }
    table.setTotalWidth(width);
    table.setLockedWidth(true);
    return table;
}

From source file:fr.opensagres.poi.xwpf.converter.pdf.internal.elements.StylableDocumentSection.java

License:Open Source License

private List<ColumnText> fillTable(float height) {
    // copy text for simulation
    List<ColumnText> tt = null;
    if (breakHandlingParent == null && colIdx >= layoutTable.getNumberOfColumns()) {
        // more column breaks than available column
        // we try not to lose content
        // but results may be different than in open office
        // anyway it is logical error made by document creator
        tt = new ArrayList<ColumnText>();
        ColumnText t = createColumnText();
        tt.add(t);/*  www.  ja  va 2  s  .c om*/
        for (int i = 0; i < texts.size(); i++) {
            PdfPTable table = new PdfPTable(1);
            table.setWidthPercentage(100.0f);
            PdfPCell cell = new PdfPCell();
            cell.setBorder(Table.NO_BORDER);
            cell.setPadding(0.0f);
            cell.setColumn(ColumnText.duplicate(texts.get(i)));
            table.addCell(cell);
            t.addElement(table);
        }
    } else {
        tt = new ArrayList<ColumnText>(texts);
        for (int i = 0; i < tt.size(); i++) {
            tt.set(i, ColumnText.duplicate(tt.get(i)));
        }
    }
    // clear layout table
    clearTable(layoutTable, true);
    setWidthIfNecessary();

    // try to fill cells with text
    ColumnText t = tt.get(0);
    for (PdfPCell cell : layoutTable.getRow(0).getCells()) {
        cell.setFixedHeight(height >= 0.0f ? height : -1.0f);
        cell.setColumn(ColumnText.duplicate(t));
        //
        t.setSimpleColumn(cell.getLeft() + cell.getPaddingLeft(),
                height >= 0.0f ? -height : PdfPRow.BOTTOM_LIMIT, cell.getRight() - cell.getPaddingRight(), 0);
        int res = 0;
        try {
            res = t.go(true);
        } catch (DocumentException e) {
            throw new XWPFConverterException(e);
        }
        if (!ColumnText.hasMoreText(res)) {
            // no overflow in current column
            if (tt.size() == 1) {
                // no more text
                return null;
            } else {
                // some text waiting for new column
                tt.remove(0);
                t = tt.get(0);
            }
        }
    }
    return tt;
}

From source file:fr.opensagres.poi.xwpf.converter.pdf.internal.elements.StylableDocumentSection.java

License:Open Source License

public static SectionPdfPTable createLayoutTable(float width, float height,
        List<StyleColumnProperties> columnPropertiesList) {
    // create one row table which will layout section text
    int colCount = columnPropertiesList.size();
    int relativeWidths[] = new int[colCount];
    SectionPdfPTable table = new SectionPdfPTable(colCount);
    // add cells/*from   w w w. j  a v  a2 s.  co  m*/
    for (int i = 0; i < colCount; i++) {
        PdfPCell cell = new PdfPCell();
        cell.setBorder(Table.NO_BORDER);
        cell.setPadding(0.0f);
        cell.setColumn(createColumnText());
        cell.setFixedHeight(height >= 0.0f ? height : -1.0f);
        // apply styles to cell
        StyleColumnProperties columnProperties = columnPropertiesList.get(i);
        relativeWidths[i] = columnProperties.getRelWidth();
        cell.setPaddingLeft(
                columnProperties.getStartIndent() != null ? columnProperties.getStartIndent() : 0.0f);
        cell.setPaddingRight(columnProperties.getEndIndent() != null ? columnProperties.getEndIndent() : 0.0f);
        table.addCell(cell);
    }
    replaceTableCells(table);
    // set width
    try {
        table.setWidths(relativeWidths);
    } catch (DocumentException e) {
        throw new XWPFConverterException(e);
    }
    table.setTotalWidth(width);
    table.setLockedWidth(true);
    return table;
}

From source file:fr.opensagres.xdocreport.itext.extension.ExtendedChapter.java

License:Open Source License

private synchronized PdfPCell createPdfPCell() {
    if (cell != null) {
        return cell;
    }//w  ww .j  ava 2s.c o  m
    PdfPCell cell = new PdfPCell();
    cell.setBorder(Rectangle.NO_BORDER);
    cell.setPadding(0);
    return cell;
}

From source file:fr.opensagres.xdocreport.itext.extension.ExtendedParagraph.java

License:Open Source License

private PdfPCell createCell() {
    PdfPCell cell = new PdfPCell();
    cell.setBorder(Table.NO_BORDER);/*  www .ja  v  a  2s  .  co  m*/
    cell.setPadding(0.0f);
    cell.setUseBorderPadding(true);
    cell.getColumn().setAdjustFirstLine(false);
    return cell;
}

From source file:fr.opensagres.xdocreport.itext.extension.ExtendedPdfPTable.java

License:Open Source License

/**
 * Gets the height of a particular row.//from w w w .j  av a  2s  .c  o m
 *
 * @param idx the row index (starts at 0)
 * @param firsttime is this the first time the row heigh is calculated?
 * @return the height of a particular row
 * @since 3.0.0
 */
public float getRowHeight(int idx, boolean firsttime) {
    if (totalWidth <= 0 || idx < 0 || idx >= rows.size())
        return 0;
    PdfPRow row = (PdfPRow) rows.get(idx);
    if (row == null)
        return 0;
    if (firsttime)
        row.setWidths(absoluteWidths);
    float height = row.getMaxHeights();
    PdfPCell cell;
    PdfPRow tmprow;
    for (int i = 0; i < relativeWidths.length; i++) {
        if (!rowSpanAbove(idx, i))
            continue;
        int rs = 1;
        while (rowSpanAbove(idx - rs, i)) {
            rs++;
        }
        tmprow = (PdfPRow) rows.get(idx - rs);
        cell = tmprow.getCells()[i];
        float tmp = 0;
        // AZERR patch : sometimes cell is null????
        // LP : cell may be null if colspan/rowspan occurs
        // create a dummy cell to avoid NullPointerException
        if (cell == null) {
            cell = new PdfPCell();
            tmprow.getCells()[i] = cell;
        }
        if (cell.getRowspan() == rs + 1) {
            tmp = cell.getMaxHeight();
            while (rs > 0) {
                tmp -= getRowHeight(idx - rs);
                rs--;
            }
        }
        if (tmp > height)
            height = tmp;
    }
    row.setMaxHeights(height);
    return height;
}

From source file:fr.opensagres.xdocreport.itext.extension.ExtendedPdfPTable.java

License:Open Source License

private PdfPCell createCell() {
    PdfPCell cell = new PdfPCell();
    cell.setBorder(Table.NO_BORDER);
    cell.setPadding(0.0f);
    cell.setUseBorderPadding(true);
    return cell;
}

From source file:fr.opensagres.xdocreport.itext.extension.NestedTable2.java

License:Open Source License

public static void main(String[] args) {
    Document document = new Document(PageSize.A4.rotate(), 10, 10, 10, 10);
    try {/*  www. j  a  v  a2  s.  c  o m*/
        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("NestedTable2.pdf"));
        document.open();

        PdfPTable table = new PdfPTable(1);

        PdfPTable nestedTable = new PdfPTable(2);
        PdfPCell cell1 = new PdfPCell();
        cell1.addElement(new Chunk("cell1"));
        nestedTable.addCell(cell1);

        PdfPCell cell2 = new PdfPCell();
        cell2.addElement(new Chunk("cell2"));
        nestedTable.addCell(cell2);

        Paragraph paragraph = new Paragraph();
        paragraph.add(new Chunk("eeeeeeeeee"));
        paragraph.add(nestedTable);

        PdfPCell cell = new PdfPCell(paragraph);
        //cell.addElement( nestedTable );
        //cell.addElement( new Chunk("cell3") );
        //cell.
        table.addCell(cell);

        document.add(table);
    } catch (Exception de) {
        de.printStackTrace();
    }
    document.close();
}

From source file:fr.opensagres.xdocreport.itext.extension.TableWithAlignment.java

License:Open Source License

public static void main(String[] args) {
    Document document = new Document(PageSize.A4.rotate(), 10, 10, 10, 10);
    try {//  w w w.ja v a  2 s  .c  o  m
        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("TableWithAlignment.pdf"));

        document.open();

        PdfPTable table = new PdfPTable(2);
        table.getDefaultCell().setUseAscender(true);
        table.getDefaultCell().setUseDescender(true);

        table.setWidths(new float[] { 5, 10 });
        table.setWidthPercentage(10);

        PdfPCell cell1 = new PdfPCell();
        cell1.addElement(new Chunk("cell1"));
        table.addCell(cell1);

        PdfPCell cell2 = new PdfPCell();
        cell2.addElement(new Chunk("cell2"));
        table.addCell(cell2);

        table.setSpacingBefore(-100);

        document.add(table);
    } catch (Exception de) {
        de.printStackTrace();
    }
    document.close();
}