程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#基礎知識 >> C#中如何創建PDF網格並插入圖片

C#中如何創建PDF網格並插入圖片

編輯:C#基礎知識

這篇文章我將向大家演示如何以編程的方式在PDF文檔中創建一個網格,並將圖片插入特定的網格中。

網上有一些類似的解決方法,在這裡我選擇了一個免費版的PDF組件。安裝控件後,創建新項目,添加安裝目錄下的dll文件作為項目的引用以及命名空間,如下:

using Spire.Pdf;
using Spire.Pdf.Graphics;
using Spire.Pdf.Grid;

接下來是詳細步驟及代碼片段:

步驟1: 首先創建一個PDF文檔,並添加一個新頁面。

PdfDocument doc = new PdfDocument();
PdfPageBase page = doc.Pages.Add();

步驟2創建一個一行兩列的網格。

PdfGrid grid = new PdfGrid();
PdfGridRow row = grid.Rows.Add();
grid.Columns.Add(2);

步驟3設置單元格邊框與填充內容的間距。

grid.Style.CellPadding = new PdfPaddings(1, 1, 1, 1);

步驟4設置列寬。

float width = page.Canvas.ClientSize.Width - (grid.Columns.Count + 1);
grid.Columns[0].Width = width * 0.1f;
grid.Columns[1].Width = width * 0.1f;

步驟5加載圖片。

PdfGridCellTextAndStyleList lst = new PdfGridCellTextAndStyleList();
PdfGridCellTextAndStyle textAndStyle = new PdfGridCellTextAndStyle();
textAndStyle.Image=PdfImage.FromFile(@"C:\Users\Administrator\Pictures\448a5ba8f8851709a1f53e.jpg");

 步驟6設置圖片的大小,將其插入第一個單元格。

textAndStyle.ImageSize = new SizeF(50, 50);
lst.List.Add(textAndStyle);
row.Cells[0].Value = lst;

 步驟7:在頁面特定位置繪制PDF網格。

PdfLayoutResult result = grid.Draw(page, new PointF(10, 30));

 步驟8保存並運行PDF文件。

doc.SaveToFile(outputFile, FileFormat.PDF);
System.Diagnostics.Process.Start(outputFile);

 效果圖:

這個Spire. PDF組件基於.NET的辦公軟件庫,還有其他豐富的功能。所以對於有辦公開發需求的朋友,感興趣的話可以在官網參考在線教程。

全部代碼:

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

namespace Insert_an_Image_to_PDF_Grid_Cell
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string outputFile ="output.pdf";
            //新建一個PDF文檔
            PdfDocument doc = new PdfDocument();
            //添加頁面
            PdfPageBase page = doc.Pages.Add();
            //創建PDF網格
            PdfGrid grid = new PdfGrid();
            //設置單元格邊框與填充內容的間距
            grid.Style.CellPadding = new PdfPaddings(1, 1, 1, 1);
            //添加行
            PdfGridRow row = grid.Rows.Add();
            //添加列
            grid.Columns.Add(2);
            float width = page.Canvas.ClientSize.Width - (grid.Columns.Count + 1);
            //設置列寬
            grid.Columns[0].Width = width * 0.1f;
            grid.Columns[1].Width = width * 0.1f;
            //加載圖片
            PdfGridCellTextAndStyleList lst = new PdfGridCellTextAndStyleList();
            PdfGridCellTextAndStyle textAndStyle = new PdfGridCellTextAndStyle();
            textAndStyle.Image=PdfImage.FromFile (@"C:\Users\Administrator\Pictures\448a5ba8f8851709a1f53e.jpg");
            //設置圖片大小
            textAndStyle.ImageSize = new SizeF(50, 50);
            lst.List.Add(textAndStyle);
            //在第一個單元格添加圖片
            row.Cells[0].Value = lst;
            //在頁面特定位置繪制PDF網格
            PdfLayoutResult result = grid.Draw(page, new PointF(10, 30));
            //保存並運行PDF文件
            doc.SaveToFile(outputFile, FileFormat.PDF);
            System.Diagnostics.Process.Start(outputFile);
        }
    }
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved