我的代码如下,想设置表格里的对齐方式和字体,不知道怎么写代码.
 public static bool ProMakePDF(DataTable data, string pathPDF)
        {
            Document document = new Document();
               
            PdfWriter writer = PdfWriter.getInstance(document, new FileStream(pathPDF,FileMode.Create));
            document.Open();
            PdfPTable table = new PdfPTable(data.Columns.Count);
            for(int n=0 ; n<data.Columns.Count; n++)    
             {
                table.addCell(data.Columns[n].ColumnName.ToString());           
                   
            }
            
            for (int i=0;i<data.Rows.Count;i++)                     //取值
             {
                for (int j = 0; j < data.Columns.Count; j++)
                {
                    table.addCell(new Phrase(data.Rows[i][j].ToString()));
                }
            }
            document.Add(table); 
            document.Close();
            writer.Close();
            return true;          
        }

解决方案 »

  1.   

    怎样用PDFPCell设置PDFPTable中的格式呀.
    请告诉我一下.如对齐方式,字体加粗等谢谢了
      

  2.   

    知道怎么写了.分享给大家
     public static bool ProMakePDF(DataTable data, string pathPDF,float FontSize, string FontPath)
            {            Document document = new Document();            //中文字体
                BaseFont baseFont = BaseFont.createFont(FontPath, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
                Font font = new Font(baseFont, FontSize,Font.BOLD);//建立各种需要的字体
                Font font1 = new Font(baseFont, FontSize, Font.ITALIC);
                Font font0 = new Font(baseFont, FontSize, Font.NORMAL);
       
                PdfWriter writer = PdfWriter.getInstance(document, new FileStream(pathPDF,FileMode.Create));
                ////////////////////////////////////////加入报表表头
                Phrase contentInHead = new Phrase("Test",FontFactory.getFont(FontFactory.TIMES_BOLD));                       
                HeaderFooter header = new HeaderFooter(contentInHead, false);
                header.Border = Element.ALIGN_UNDEFINED;
                header.Alignment = Element.ALIGN_CENTER;
                document.Header = header;            
                /////////////////////////////////////////
                document.Open();        
                           
                PdfPTable table = new PdfPTable(data.Columns.Count);
                table.DefaultCell.HorizontalAlignment = Element.ALIGN_CENTER;
                for (int n = 0; n < data.Columns.Count; n++)                 
                {
                    PdfPCell cell = new PdfPCell(new Phrase(data.Columns[n].ColumnName.ToString()));
                    cell.HorizontalAlignment = Element.ALIGN_CENTER;
                    
                    table.addCell(cell);            }
                for (int i=0;i<data.Rows.Count;i++)                     
                {
                    for (int j = 0; j < data.Columns.Count; j++)
                    {   
                        ////根据需求按列设置 对齐方式 字体
                        if (j == 3)
                        {
                            PdfPCell cell = new PdfPCell(new Phrase(data.Rows[i][j].ToString(), font));
                            cell.HorizontalAlignment = Element.ALIGN_RIGHT;
                            table.addCell(cell);                       
                        }
                        else if (j == 4)
                        {
                            PdfPCell cell = new PdfPCell(new Phrase(data.Rows[i][j].ToString(),font1));
                            cell.HorizontalAlignment = Element.ALIGN_LEFT;
                            table.addCell(cell);  
                        }              
                        else
                        table.addCell(new Phrase(data.Rows[i][j].ToString(),font0));
                    }
                }
                
                document.Add(table); 
                document.Close();
                writer.Close();
                return true;          
            }
        }