Java/PDF RTF/Table Header

Материал из Java эксперт
Перейти к: навигация, поиск

Big Table With Header Rows

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();
  }
}





Table Header Demo

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();
  }
}