• <menu id="w2i4a"></menu>
  • logo Spire.PDF教程

    文檔首頁>>Spire.PDF教程>>PDF管理控件Spire.PDF使用教程:如何創(chuàng)建PDF表格并添加圖片到表格

    PDF管理控件Spire.PDF使用教程:如何創(chuàng)建PDF表格并添加圖片到表格


    更多資源查看:Spire.XLS工作表教程 | Spire.Doc系列教程 | Spire.PDF系列教程


    Spire.PDF是一個專業(yè)的PDF組件,能夠獨立地創(chuàng)建、編寫、編輯、操作和閱讀PDF文件,支持 .NET、Java、WPF和Silverlight。Spire.PDF的PDF API擁有豐富的功能,如安全設置(包括數(shù)字簽名)、PDF文本/附件/圖片提取、PDF文件合并/拆分、元數(shù)據(jù)更新、章節(jié)和段落優(yōu)化、圖形/圖像描繪和插入、表格創(chuàng)建和處理、數(shù)據(jù)導入等等。>>下載Spire.PDF最新試用版


    C# 創(chuàng)建 PDF 表格

    Spire.PDF提供了兩種類PdfTable和PdfGrid用于創(chuàng)建PDF表格,二者在對表格進行格式化操作時存在以下差別:


    PdfTable
    PdfGrid
    格式設置

    無API支持,可以通過事件設置可直接通過API設置

    可直接通過API設置(StringFormat)可直接通過API設置(StringFormat)
    單元格
    無API支持,可以通過事件設置可直接通過API設置
    其他
    單元格縱向合并
    不支持可直接通過API設置
    單元格橫向合并
    無API支持,可以通過事件設置可直接通過API設置
    嵌套表格
    無API支持,可以通過事件設置可直接通過API設置
    事件
    BeginCellLayout, BeginPageLayout, BeginRowLayout, EndCellLayout, EndPageLayout, EndRowLayoutBeginPageLayout, EndPageLayout


    通過 PdfTable 類創(chuàng)建表格

    static void Main(string[] args)
    {
        //創(chuàng)建一個PDF文檔
        PdfDocument doc = new PdfDocument();
    
        //添加一頁
        PdfPageBase page = doc.Pages.Add();
    
        //創(chuàng)建一個PdfTable對象
        PdfTable table = new PdfTable();
    
        //設置字體
        table.Style.DefaultStyle.Font = new PdfTrueTypeFont(new Font("Arial Unicode MS", 9f), true);
        table.Style.HeaderStyle.Font = new PdfTrueTypeFont(new Font("Arial Unicode MS", 9f), true);
    
        //創(chuàng)建一個DataTable并寫入數(shù)據(jù)
        DataTable dataTable = new DataTable();
        dataTable.Columns.Add("名字");
        dataTable.Columns.Add("年齡");
        dataTable.Columns.Add("性別");
        dataTable.Rows.Add(new string[] { "張紅", "22", "女" });
        dataTable.Rows.Add(new string[] { "王東", "25", "男" });
    
        //填充數(shù)據(jù)到PDF表格
        table.DataSource = dataTable;
    
        //顯示表頭(默認不顯示)
        table.Style.ShowHeader = true;
    
        //在BeginRowLayout事件處理方法中注冊自定義事件
        table.BeginRowLayout += Table_BeginRowLayout;
    
    
        //將表格繪入PDF并指定位置和大小
        table.Draw(page, new RectangleF(0, 20, 200, 90));
    
        //保存到文檔
        doc.SaveToFile("PDF表格_1.pdf");
    }
    
    //在自定義事件中設置行高
    private static void Table_BeginRowLayout(object sender, BeginRowLayoutEventArgs args)
    {
        args.MinimalHeight = 20f;
    }

    PDF管理控件Spire.PDF使用教程:如何創(chuàng)建PDF表格并添加圖片到表格

    通過 PdfGrid 創(chuàng)建表格——創(chuàng)建一個簡單的表格

    //創(chuàng)建一個PDF文檔
    PdfDocument doc = new PdfDocument();
    
    //添加一頁
    PdfPageBase page = doc.Pages.Add();
    
    //創(chuàng)建一個PdfGrid對象
    PdfGrid grid = new PdfGrid();
    
    //設置單元格邊距
    grid.Style.CellPadding = new PdfPaddings(1, 1, 1, 1);
    
    //添加2行4列
    PdfGridRow row1 = grid.Rows.Add();
    PdfGridRow row2 = grid.Rows.Add();
    grid.Columns.Add(4);
    
    //設置列寬
    foreach (PdfGridColumn col in grid.Columns)
    {
        col.Width = 60f;
    }
    
    //寫入數(shù)據(jù)
    for (int i = 0; i < grid.Columns.Count; i++)
    {
        row1.Cells[i].Value = String.Format("col{0}", i + 1);
        row2.Cells[i].Value = String.Format("{0}", i + 1);
    }
    
    //將表格繪入文檔
    grid.Draw(page, new PointF(0, 20));
    
    //保存到文檔
    doc.SaveToFile("PDF表格_2.pdf");

    PDF管理控件Spire.PDF使用教程:如何創(chuàng)建PDF表格并添加圖片到表格

    通過 PdfGrid 創(chuàng)建表格——合并單元格,設置背景色和文字對齊方式

    //創(chuàng)建PDF文檔
    PdfDocument doc = new PdfDocument();
    
    //添加一頁
    PdfPageBase page = doc.Pages.Add();
    
    //創(chuàng)建一個PdfGrid對象
    PdfGrid grid = new PdfGrid();
    
    //設置單元格邊距
    grid.Style.CellPadding = new PdfPaddings(1, 1, 1, 1);
    
    //設置表格默認字體
    grid.Style.Font= new PdfTrueTypeFont(new Font("Arial Unicode MS", 9f), true);
    
    //添加4行4列
    PdfGridRow row1 = grid.Rows.Add();
    PdfGridRow row2 = grid.Rows.Add();
    PdfGridRow row3 = grid.Rows.Add();
    PdfGridRow row4 = grid.Rows.Add();
    grid.Columns.Add(4);
    
    //設置列寬
    foreach (PdfGridColumn col in grid.Columns)
    {
        col.Width = 60f;
    }
    
    //寫入數(shù)據(jù)
    row1.Cells[0].Value = "訂單及支付情況";
    row2.Cells[0].Value = "訂單號";
    row2.Cells[1].Value = "日期";
    row2.Cells[2].Value = "客戶";
    row2.Cells[3].Value = "是否付款";
    row3.Cells[0].Value = "00223";
    row3.Cells[1].Value = "2016/06/02";
    row3.Cells[2].Value = "陽光地產(chǎn)";
    row3.Cells[3].Value = "是";
    row4.Cells[0].Value = "00224";
    row4.Cells[1].Value = "2016/06/03";
    row4.Cells[3].Value = "否";
    
    //水平和垂直合并單元格
    row1.Cells[0].ColumnSpan = 4;
    row3.Cells[2].RowSpan = 2;
    
    //設置單元格內(nèi)文字對齊方式
    row1.Cells[0].StringFormat = new PdfStringFormat(PdfTextAlignment.Center);
    row3.Cells[2].StringFormat = new PdfStringFormat(PdfTextAlignment.Justify, PdfVerticalAlignment.Middle);
    
    //設置單元格背景顏色
    row1.Cells[0].Style.BackgroundBrush = PdfBrushes.Gray;
    row3.Cells[3].Style.BackgroundBrush = PdfBrushes.Green;
    row4.Cells[3].Style.BackgroundBrush = PdfBrushes.MediumVioletRed;
    
    //設置邊框顏色、粗細
    PdfBorders borders = new PdfBorders();
    borders.All = new PdfPen(Color.Black, 0.1f);
    foreach (PdfGridRow pgr in grid.Rows)
    {
        foreach (PdfGridCell pgc in pgr.Cells)
        {
            pgc.Style.Borders = borders;
        }
    }
    
    //在指定為繪入表格
    grid.Draw(page, new PointF(0, 20));
    
    //保存到文檔
    doc.SaveToFile("PDF表格_3.pdf");

    PDF管理控件Spire.PDF使用教程:如何創(chuàng)建PDF表格并添加圖片到表格


    C# 添加圖片和嵌套表格到 PDF 表格的單元格


    //創(chuàng)建PDF文檔
    PdfDocument pdf = new PdfDocument();
    //添加一個頁面
    PdfPageBase page = pdf.Pages.Add();
    
    //創(chuàng)建一個PDF表格
    PdfGrid grid = new PdfGrid();
    
    //添加兩行 
    PdfGridRow row1 = grid.Rows.Add();
    PdfGridRow row2 = grid.Rows.Add();
    
    //設置表格的單元格內(nèi)容和邊框之間的上邊距和下邊距
    grid.Style.CellPadding.Top = 5f;
    grid.Style.CellPadding.Bottom = 5f;
    
    //添加兩列
    grid.Columns.Add(2);
    
    //設置列寬
    grid.Columns[0].Width = 120f;
    grid.Columns[1].Width = 120f;
    
    //創(chuàng)建另一個需要嵌套的表格
    PdfGrid embedGrid = new PdfGrid();
    
    //添加一行
    PdfGridRow newRow = embedGrid.Rows.Add();
    
    //添加兩列
    embedGrid.Columns.Add(2);
    
    //設置列寬
    embedGrid.Columns[0].Width = 50f;
    embedGrid.Columns[1].Width = 50f;
    
    SizeF imageSize = new SizeF(50, 50);
    //加載圖片
    PdfGridCellContentList contentList = new PdfGridCellContentList();
    PdfGridCellContent content = new PdfGridCellContent();
    content.Image = PdfImage.FromFile(@"Doc.png");
    content.ImageSize = imageSize;
    contentList.List.Add(content);
    
    PdfStringFormat stringFormat = new PdfStringFormat(PdfTextAlignment.Center, PdfVerticalAlignment.Middle);
    PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial Unicode MS", 11f), true);
    
    //設置嵌套表格的單元格的值和格式
    newRow.Cells[0].Value = "Spire.Doc";
    newRow.Cells[0].StringFormat = stringFormat;
    newRow.Cells[1].Value = contentList; //將圖片添加到嵌套表格的第二個單元格
    newRow.Cells[1].StringFormat = stringFormat;
    
    //設置第一個表格的單元格的值和格式
    row1.Cells[0].Value = "客戶姓名";            
    row1.Cells[0].StringFormat = stringFormat;
    row1.Cells[0].Style.Font = font;
    row1.Cells[0].Style.BackgroundBrush = PdfBrushes.ForestGreen;
    row1.Cells[1].Value = "產(chǎn)品";
    row1.Cells[1].StringFormat = stringFormat;
    row1.Cells[1].Style.Font = font;
    row1.Cells[1].Style.BackgroundBrush = PdfBrushes.ForestGreen;
    row2.Cells[0].Value = "肖恩";
    row2.Cells[0].StringFormat = stringFormat;
    row2.Cells[0].Style.Font = font;
    row2.Cells[1].Value = embedGrid; //將嵌套表格添加到第一個表格的第二行第二個單元格
    row2.Cells[1].StringFormat = stringFormat;           
    
    //將第一個表格畫到頁面上
    grid.Draw(page, new PointF(0f, 30f));
    
    //保存文檔
    pdf.SaveToFile("嵌套表格和圖片.pdf");

    PDF管理控件Spire.PDF使用教程:如何創(chuàng)建PDF表格并添加圖片到表格


    C# 刪除 PDF Grid 的行和列


    //創(chuàng)建PdfDocument實例
    PdfDocument doc = new PdfDocument();
    
    //添加一頁
    PdfPageBase page = doc.Pages.Add();
    
    //創(chuàng)建PDF grid
    PdfGrid grid = new PdfGrid();
    
    //設置單元格內(nèi)容和邊框之間的距離
    grid.Style.CellPadding = new PdfPaddings(3, 3, 1, 1);
    
    //添加3行和4列
    PdfGridRow row1 = grid.Rows.Add();
    PdfGridRow row2 = grid.Rows.Add();
    PdfGridRow row3 = grid.Rows.Add();
    grid.Columns.Add(4);
    
    //設置列寬
    foreach (PdfGridColumn column in grid.Columns)
    {
        column.Width = 60f;
    }
    
    //寫入數(shù)據(jù)到單元格
    for (int i = 0; i < grid.Columns.Count; i++)
    {
        row1.Cells[i].Value = String.Format("column{0}", i + 1);
        row2.Cells[i].Value = "a";
        row3.Cells[i].Value = "b";
    }
    
    //刪除第二行
    grid.Rows.RemoveAt(1);
    
    //刪除第二列
    grid.Columns.RemoveAt(1);
    
    //在頁面的指定位置繪制grid
    grid.Draw(page, new PointF(0, 20));
    
    //保存文件
    doc.SaveToFile("Output.pdf");

    PDF管理控件Spire.PDF使用教程:如何創(chuàng)建PDF表格并添加圖片到表格


    如果你有任何問題或意見,可在下方評論區(qū)留言,點擊資源列表查看更多教程資源~


    *想要購買正版授權的朋友可以咨詢在線客服哦~

    掃描關注“慧聚IT”微信公眾號,及時獲取更多產(chǎn)品最新動態(tài)及最新資訊

    1562572142.jpg



    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();