Java/PDF RTF/Table Header
Big Table With Header Rows
<source lang="java">
import java.io.FileOutputStream; import com.lowagie.text.Document; import com.lowagie.text.Element; import com.lowagie.text.PageSize; import com.lowagie.text.pdf.PdfPTable; import com.lowagie.text.pdf.PdfWriter; public class BigTableWithHeaderRowsPDF {
public static void main(String[] args) { Document document = new Document(PageSize.A4.rotate(), 10, 10, 10, 10); try { PdfWriter.getInstance(document, new FileOutputStream("BigTableWithHeaderRowsPDF.pdf")); document.open(); int NumColumns = 12; PdfPTable datatable = new PdfPTable(NumColumns); int headerwidths[] = { 9, 4, 8, 10, 8, 11, 9, 7, 9, 10, 4, 10 }; // percentage datatable.setWidths(headerwidths); for(int i=0;i<headerwidths.length;i++){ datatable.addCell("Header "+ i); } datatable.setHeaderRows(1); datatable.getDefaultCell().setBorderWidth(1); for (int i = 1; i < 1000; i++) { if (i % 2 == 1) { datatable.getDefaultCell().setGrayFill(0.9f); } for (int x = 0; x < NumColumns; x++) { datatable.addCell("data"); } if (i % 2 == 1) { datatable.getDefaultCell().setGrayFill(1); } } document.add(datatable); } catch (Exception de) { de.printStackTrace(); } document.close(); }
}
</source>
Table Header Demo
<source lang="java">
import java.awt.Color; import java.io.FileOutputStream; import com.lowagie.text.Cell; import com.lowagie.text.Document; import com.lowagie.text.Element; import com.lowagie.text.Font; import com.lowagie.text.FontFactory; import com.lowagie.text.PageSize; import com.lowagie.text.Paragraph; import com.lowagie.text.Phrase; import com.lowagie.text.Rectangle; import com.lowagie.text.Table; import com.lowagie.text.pdf.PdfWriter; public class TableHeaderPDF {
public static void main(String[] args) { Document document = new Document(PageSize.A4.rotate(), 50, 50, 50, 50); try { PdfWriter.getInstance(document, new FileOutputStream("TableHeaderPDF.pdf")); document.open(); Table datatable = new Table(3); int headerwidths[] = {10, 24, 12}; datatable.setWidths(headerwidths); datatable.setWidth(46); datatable.setPadding(3); Cell cell = new Cell(new Phrase("title", FontFactory.getFont(FontFactory.HELVETICA, 24, Font.BOLD))); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setLeading(30); cell.setColspan(3); cell.setBorder(Rectangle.NO_BORDER); cell.setBackgroundColor(new Color(0xC0, 0xC0, 0xC0)); datatable.addCell(cell); datatable.setDefaultCellBorderWidth(2); datatable.setDefaultHorizontalAlignment(1); datatable.addCell("Header 1"); datatable.addCell("Header \n 2"); datatable.addCell("Header 3"); datatable.endHeaders(); datatable.setDefaultCellBorderWidth(1); datatable.setDefaultHorizontalAlignment(Element.ALIGN_LEFT); datatable.addCell("1"); datatable.addCell("2"); datatable.addCell("3"); datatable.setDefaultHorizontalAlignment(Element.ALIGN_CENTER); datatable.addCell("4"); datatable.addCell("5"); datatable.addCell("6"); document.add(datatable); } catch (Exception e) { e.printStackTrace(); } document.close(); }
}
</source>