Java/PDF RTF/Table Header

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

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>