Как установить стиль шрифта заголовка как жирный для заголовка таблицы в pdf-файле в jsf - PullRequest
0 голосов
/ 12 апреля 2010

Я использовал PdfPTable для преобразования данных таблицы в файл PDF, используя com.itextpdf.text.pdf.PdfPTable. Таблица отображается, но данные таблицы и заголовок в одном стиле. Чтобы сделать разницу, я должен установить стиль шрифта заголовка жирным шрифтом. Кто-нибудь может мне помочь в этом? Я приложил свой код здесь.

Заранее спасибо.

import java.awt.Color;
import java.util.ArrayList;
import java.util.List;

import javax.faces.model.ListDataModel;

import com.mypackage.core.filter.domainobject.FilterResultDO;
import com.itextpdf.text.Font;
import com.itextpdf.text.FontFactory;
import com.itextpdf.text.Phrase;
import com.itextpdf.text.pdf.PdfPTable;

public class PDFGenerator {


 //This method will generate PDF for Filter Result Screen (only DataTable level)
  @SuppressWarnings("unchecked")

 public static PdfPTable generatePDF(PdfPTable table,List<FilterResultDO> filterResultDOList ,List<ColumnHeader> filterResultHeaderList )
 {
  //Initialize the table with number of columns required for the Datatable header
  int numberOfFilterLabelCols = filterResultHeaderList.size();

  //PDF Table Frame
  table =  new PdfPTable(numberOfFilterLabelCols);



     //Getting Filter Detail Table Heading
     for(int i = 0 ; i < numberOfFilterLabelCols; i++)
     {
       ColumnHeader commandHeaderObj =  filterResultHeaderList.get(i);

       table.addCell(commandHeaderObj.getLabel());


     }

     //Getting Filter Detail Data (Rows X Cols)
  FilterResultDO filterResultDOObj = filterResultDOList.get(0);



  List <List> filterResultDataList = filterResultDOObj.getFilterResultLst();
  int numberOfFilterDataRows = filterResultDataList.size();


    //each row iteration
    for(int row = 0; row < numberOfFilterDataRows; row++)
    { 
     List filterResultCols = filterResultDataList.get(row);
     int numberOfFilterDataCols = filterResultCols.size();

     //columns iteration of each row 
     for(int col = 0; col < numberOfFilterDataCols ; col++)
     { 
      String filterColumnsValues = (String) filterResultCols.get(col);

      table.addCell(filterColumnsValues);
     }
    }

  return table;
 }//generatePDF




}

1 Ответ

1 голос
/ 12 апреля 2010

Я полагаю, что метод commandHeaderObj.getLabel () возвращает строку. вам просто нужно определить шрифт (в методе или в качестве атрибута экземпляра или статического атрибута конечного класса ...)

Font tableHeader = 
   FontFactory.getFont(FontFactory.HELVETICA, 10, Font.BOLD);

и затем примените его к ячейке

for(int i = 0 ; i < numberOfFilterLabelCols; i++)
 {
   ColumnHeader commandHeaderObj =  filterResultHeaderList.get(i);
   Paragraph header = new Paragraph();
   header.setFont(tableHeader);
   header.add(commandHeaderObj.getLabel());
   table.addCell(header);
 }

надеюсь, что это поможет

Гийом

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...