Dropping content from a ColumnText object

This is a code example of iText PDF, discover more.

9th April 2016
admin-marketing

Switch code for this example

DropTablePart.java
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package sandbox.columntext;

import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Element;
import com.itextpdf.text.Phrase;
import com.itextpdf.text.Rectangle;
import com.itextpdf.text.pdf.ColumnText;
import com.itextpdf.text.pdf.PdfPCell;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import sandbox.WrapToTest;

/**
 * @author Bruno Lowagie (iText Software)
 */
@WrapToTest
public class DropTablePart {
    public static final String DEST = "results/columntext/drop_table_part.pdf";
    
    public static void main(String[] args) throws IOException, DocumentException {
        File file = new File(DEST);
        file.getParentFile().mkdirs();
        new DropTablePart().createPdf(DEST);
    }

    public void createPdf(String dest) throws IOException, DocumentException {
        Document document = new Document();
        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(dest));
        document.open();
        Rectangle column = new Rectangle(36, 36, 559, 806);
        ColumnText ct = new ColumnText(writer.getDirectContent());
        ct.setSimpleColumn(column);
        for (int i = 0; i < 4; ) {
            PdfPTable table = new PdfPTable(new float[]{0.25f, 0.25f, 0.25f, 0.25f});
            table.setHorizontalAlignment(Element.ALIGN_LEFT);
            table.setWidthPercentage(100);
            PdfPCell cell = new PdfPCell(new Phrase("inner table " + (++i)));
            cell.setColspan(4);
            table.addCell(cell);
            for (int j = 0; j < 18; j++) {
                table.addCell(new Phrase("test Data " + (j + 1) + ".1"));
                table.addCell(new Phrase("test Data " + (j + 1) + ".1"));
                table.addCell(new Phrase("test Data " + (j + 1) + ".1"));
                table.addCell(new Phrase("test Data " + (j + 1) + ".1"));
            }
            ct.addElement(table);
            if (ColumnText.hasMoreText(ct.go())) {
                document.newPage();
                ct = new ColumnText(writer.getDirectContent());
                ct.setSimpleColumn(column);
            }
        }
        document.close();
    }
}
Contact

Still have questions? 

We're happy to answer your questions. Reach out to us and we'll get back to you shortly.

Contact us
Stay updated

Join 11,000+ subscribers and become an iText PDF expert by staying up to date with our new products, updates, tips, technical solutions and happenings.

Subscribe Now