C#繪制PDF嵌套表格

嵌套表格,即在一張表格中的特定單元格中再插入一個或者多個表格,使用嵌套表格的優(yōu)點在于能夠讓內(nèi)容的布局更加合理,同時也方便程序套用。下面的示例中,將介紹如何通過C#編程來演示如何插入嵌套表格到PDF文檔。
要點概括:

成都創(chuàng)新互聯(lián)公司專注于汪清企業(yè)網(wǎng)站建設,自適應網(wǎng)站建設,成都做商城網(wǎng)站。汪清網(wǎng)站建設公司,為汪清等地區(qū)提供建站服務。全流程按需定制制作,專業(yè)設計,全程項目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務

  1. 插入嵌套表格
  2. 插入文字到嵌套表格
  3. 插入圖片到嵌套表格

使用工具

  • Spire.PDF 4.9.7
  • Visual Studio
    注:
    1.這里使用的版本為4.9.7,經(jīng)測試,對于代碼中涉及的PdfGridCellContentList類和PdfGridCellContent類僅在使用該版本或者以上版本可用。使用時,請注意版本信息。
    2.下載安裝后,在編輯代碼時,請注意添加引用Spire.Pdf.dll(dll文件可在安裝路徑下的Bin文件夾下獲取)
    C# 繪制PDF嵌套表格

    示例代碼(供參考)

using Spire.Pdf;
using Spire.Pdf.Graphics;
using Spire.Pdf.Grid;
using System.Drawing;
using System.Windows.Forms;
using System;

namespace NestedTable_PDF
{
    class Program
    {
        static void Main(string[] args)
        {
            //實例化PdfDocument類,并添加頁面到新建的文檔
            PdfDocument pdf = new PdfDocument();
            PdfPageBase page = pdf.Pages.Add();

           //添加字體、畫筆,寫入文本到PDF文檔
            PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("行楷", 11f), true);
            PdfPen pen = new PdfPen(Color.Gray);
            string text = "2018 Pyeongchang Olympic Winter Games Medal Ranking";
            page.Canvas.DrawString(text, font, pen, 100, 50);

            //創(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(3);
            grid.Columns[0].Width = 120f;
            grid.Columns[1].Width = 150f;
            grid.Columns[2].Width = 120f; 

            //創(chuàng)建一個一行兩列的嵌套表格
            PdfGrid embedGrid1 = new PdfGrid();
            PdfGridRow newRow = embedGrid1.Rows.Add();
            embedGrid1.Columns.Add(2);

            //設置嵌套表格的列寬
            embedGrid1.Columns[0].Width = 50f;
            embedGrid1.Columns[1].Width = 60f;

            //初始化SizeF類,設置圖片大小
            SizeF imageSize = new SizeF(45, 35);
            //實例化PdfGridCellContentList、PdfGridCellContent類,加載添加到嵌套表格的圖片
            PdfGridCellContentList contentList = new PdfGridCellContentList();
            PdfGridCellContent content = new PdfGridCellContent();
            content.Image = PdfImage.FromFile("1.png");
            content.ImageSize = imageSize;
            contentList.List.Add(content);
            //實例化PdfStringFormat、PdfTrueTypeFont類,設置單元格文字對齊方式、字體、字號等
            PdfStringFormat stringFormat = new PdfStringFormat(PdfTextAlignment.Center, PdfVerticalAlignment.Middle);         

            //設置嵌套表格的單元格的值,并應用格式
            newRow.Cells[0].Value = "Norway";
            newRow.Cells[0].StringFormat = stringFormat;
            newRow.Cells[1].Value = contentList; //將圖片添加到嵌套表格的第二個單元格
            newRow.Cells[1].StringFormat = stringFormat;           

            //設置第一個表格的單元格的值和格式
            row1.Cells[0].Value = "Rank";
            row1.Cells[0].StringFormat = stringFormat;
            row1.Cells[0].Style.Font = font;
            row1.Cells[0].Style.BackgroundBrush = PdfBrushes.LightSalmon;
            row1.Cells[1].Value = "Country";
            row1.Cells[1].StringFormat = stringFormat;
            row1.Cells[1].Style.Font = font;
            row1.Cells[1].Style.BackgroundBrush = PdfBrushes.LightSalmon;
            row1.Cells[2].Value = "Total";
            row1.Cells[2].StringFormat = stringFormat;
            row1.Cells[2].Style.Font = font;
            row1.Cells[2].Style.BackgroundBrush = PdfBrushes.LightSalmon;

            row2.Cells[0].Value = "1";
            row2.Cells[0].StringFormat = stringFormat;
            row2.Cells[0].Style.Font = font;
            row2.Cells[1].Value = embedGrid1; //將嵌套表格添加到第一個表格的第二行第二個單元格
            row2.Cells[1].StringFormat = stringFormat;

            row2.Cells[2].Value = "39";
            row2.Cells[2].StringFormat = stringFormat;
            row2.Cells[2].Style.Font = font;

            //將表格繪制到頁面指定位置
            grid.Draw(page, new PointF(30f, 90f));

            //保存文檔并打開
            pdf.SaveToFile("result.pdf");
            System.Diagnostics.Process.Start("result.pdf");
        }
    }
}

代碼完成后,調(diào)試程序,生成文檔,嵌套表格繪制效果如下:
C# 繪制PDF嵌套表格
以上是本次C#繪制PDF嵌套表格的全部內(nèi)容。
示例拓展:

  • C# 繪制PDF表格

本文完

網(wǎng)頁名稱:C#繪制PDF嵌套表格
網(wǎng)站路徑:http://bm7419.com/article38/jddepp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設計、網(wǎng)站設計公司、品牌網(wǎng)站建設、微信小程序、靜態(tài)網(wǎng)站、

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設