Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

Itext: Writing big tables

Sometimes you may want to write huge amount of data to tables, it definitely consumes lot of memory. To reduce this overhead, you can add data to Table in chunks like 10 records at a time. By using setComplete method of PdfPTable you can achieve this.

Set the Setcomplete Status to false.

Write k records to table and add the table to document.

Set the setComplete status to true.

Following is the complete working application.

import java.io.FileOutputStream;
import java.io.IOException;
import java.net.MalformedURLException;

import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Phrase;
import com.itextpdf.text.pdf.PdfPCell;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfWriter;

public class TestTable {
private static final String fileName = "/Users/harikrishna_gurram/Documents/itext/tableEx.pdf";

public static void main(String args[]) throws DocumentException, MalformedURLException, IOException {

Document document = new Document();
PdfWriter.getInstance(document, new FileOutputStream(fileName));
document.open();

PdfPTable table = new PdfPTable(2);
table.setComplete(false);
table.setHeaderRows(1);
PdfPCell cell = new PdfPCell();

cell.setPhrase(new Phrase("Number"));
table.addCell(cell);

cell.setPhrase(new Phrase("Square"));
table.addCell(cell);

for (int i = 1; i 1000; i++) {
if (i % 10 == 0) {
document.add(table);
}
cell.setPhrase(new Phrase(Integer.toString(i)));
table.addCell(cell);

cell.setPhrase(new Phrase(Integer.toString(i * i)));
table.addCell(cell);
}
table.setComplete(true);

document.close();
}
}



Previous                                                 Next                                                 Home


This post first appeared on Java Tutorial : Blog To Learn Java Programming, please read the originial post: here

Share the post

Itext: Writing big tables

×

Subscribe to Java Tutorial : Blog To Learn Java Programming

Get updates delivered right to your inbox!

Thank you for your subscription

×