C#中創(chuàng)建PDF網(wǎng)格并插入圖片的方法
這篇文章我將向大家演示如何以編程的方式在PDF文檔中創(chuàng)建一個網(wǎng)格,并將圖片插入特定的網(wǎng)格中。
網(wǎng)上有一些類似的解決方法,在這里我選擇了一個免費(fèi)版的PDF組件。安裝控件后,創(chuàng)建新項(xiàng)目,添加安裝目錄下的dll文件作為項(xiàng)目的引用以及命名空間,如下:
using Spire.Pdf; using Spire.Pdf.Graphics; using Spire.Pdf.Grid;
接下來是詳細(xì)步驟及代碼片段:
步驟1: 首先創(chuàng)建一個PDF文檔,并添加一個新頁面。
PdfDocument doc = new PdfDocument(); PdfPageBase page = doc.Pages.Add();
步驟2:創(chuàng)建一個一行兩列的網(wǎng)格。
PdfGrid grid = new PdfGrid(); PdfGridRow row = grid.Rows.Add(); grid.Columns.Add(2);
步驟3:設(shè)置單元格邊框與填充內(nèi)容的間距。
grid.Style.CellPadding = new PdfPaddings(1, 1, 1, 1);
步驟4:設(shè)置列寬。
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:設(shè)置圖片的大小,將其插入第一個單元格。
textAndStyle.ImageSize = new SizeF(50, 50); lst.List.Add(textAndStyle); row.Cells[0].Value = lst;
步驟7:在頁面特定位置繪制PDF網(wǎng)格。
PdfLayoutResult result = grid.Draw(page, new PointF(10, 30));
步驟8:保存并運(yùn)行PDF文件。
doc.SaveToFile(outputFile, FileFormat.PDF); System.Diagnostics.Process.Start(outputFile);
效果圖:
這個Spire. PDF組件基于.NET的辦公軟件庫,還有其他豐富的功能。所以對于有辦公開發(fā)需求的朋友,感興趣的話可以在官網(wǎng)參考在線教程。
全部代碼:
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(); //創(chuàng)建PDF網(wǎng)格 PdfGrid grid = new PdfGrid(); //設(shè)置單元格邊框與填充內(nèi)容的間距 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); //設(shè)置列寬 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"); //設(shè)置圖片大小 textAndStyle.ImageSize = new SizeF(50, 50); lst.List.Add(textAndStyle); //在第一個單元格添加圖片 row.Cells[0].Value = lst; //在頁面特定位置繪制PDF網(wǎng)格 PdfLayoutResult result = grid.Draw(page, new PointF(10, 30)); //保存并運(yùn)行PDF文件 doc.SaveToFile(outputFile, FileFormat.PDF); System.Diagnostics.Process.Start(outputFile); } } }
以上所述是小編給大家介紹的C#中創(chuàng)建PDF網(wǎng)格并插入圖片的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
C# 獲取進(jìn)程退出代碼的實(shí)現(xiàn)示例
這篇文章主要介紹了C# 獲取進(jìn)程退出代碼的實(shí)現(xiàn)示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-02-02C#借助OpenCvSharp讀取攝像頭并顯示的實(shí)現(xiàn)示例
OpenCvSharp是一個OpenCV的.Net wrapper,應(yīng)用最新的OpenCV庫開發(fā),本文主要介紹了C#借助OpenCvSharp讀取攝像頭并顯示的實(shí)現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下2022-05-05Unity ScrollView實(shí)現(xiàn)無限循環(huán)效果
這篇文章主要為大家詳細(xì)介紹了Unity ScrollView實(shí)現(xiàn)無限循環(huán)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-07-07C#使用SQL DataReader訪問數(shù)據(jù)的優(yōu)點(diǎn)和實(shí)例
今天小編就為大家分享一篇關(guān)于C#使用SQL DataReader訪問數(shù)據(jù)的優(yōu)點(diǎn)和實(shí)例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-10-10C#在Unity游戲開發(fā)中進(jìn)行多線程編程的方法
這篇文章主要介紹了C#在Unity游戲開發(fā)中進(jìn)行多線程編程的方法,文中總結(jié)了Unity中使用多線程的幾種方式以及一款多線程插件的介紹,需要的朋友可以參考下2016-04-04