这篇文章主要介绍了C#/VB.NET怎么实现在PDF表格中添加条形码的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C#/VB.NET怎么实现在PDF表格中添加条形码文章都会有所收获,下面我们一起来看看吧。
类库引入及代码思路
本次功能测试中,使用 Free Spire.PDF for .NET。
实现功能的大致思路:生成条形码,将条形码保存为图片,然后在PDF中的表格单元格中插入条码图片。
Spire.PDF for .NET 中的Spire.Pdf.Barcode namespace提供了多种Barcode类型,用于满足创建不同类型barcode的需求,如图:
Spire.Pdf.dll文件的引入方法如下:
方法1
在程序中引入Spire.Pdf.dll文件;将 Free Spire.PDF for .NET 下载到本地,解压,安装。安装完成后,找到安装路径下BIN文件夹中的Spire.Pdf.dll。然后在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“添加引用”,将本地路径BIN文件夹下的dll文件添加引用至程序。
方法2
通过 NuGet 安装。可通过以下2种方法安装:
可以在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“管理NuGet包”,然后搜索“ Free Spire.PDF”,点击“安装”。等待程序安装完成。
将以下内容复制到PM控制台安装。
Install-Package FreeSpire.PDF -Version 8.2.0
代码示例
C#
using Spire.Pdf;using Spire.Pdf.Barcode;using Spire.Pdf.Graphics;using Spire.Pdf.Grid;using System.Drawing;namespace AddBarcodeToTable{ class Program { static void Main(string[] args) { //创建PDF文档 PdfDocument pdf = new PdfDocument(); PdfPageBase page = pdf.Pages.Add(); //创建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); //添加2行2列到表格 PdfGridRow row1 = grid.Rows.Add(); PdfGridRow row2 = grid.Rows.Add(); grid.Columns.Add(2); //设置列宽 foreach (PdfGridColumn column in grid.Columns) { column.Width = 150f; } //在单元格中写入数据 row1.Cells[0].Value = "产品编号"; row1.Cells[1].Value = "条码"; row2.Cells[0].Value = "B0215"; //创建条码 PdfCodabarBarcode barcode1 = new PdfCodabarBarcode("00:12-3456/7890"); barcode1.BarcodeToTextGapHeight = 1f; barcode1.EnableCheckDigit = true; barcode1.ShowCheckDigit = true; barcode1.TextDisplayLocation = TextLocation.Bottom; barcode1.TextColor = Color.Blue; //将条码保存为图片到指定路径 Image image =barcode1.ToImage(); image.Save(@"F:/VS2017Project/DrawTable_PDF/AddBarcodeToTable/bin/Debug/BarcodeImage.png"); //将条码图片添加到表格单元格 string imgpath = "F:/VS2017Project/DrawTable_PDF/AddBarcodeToTable/bin/Debug/BarcodeImage.png"; PdfGridCellContentList contentList = new PdfGridCellContentList(); PdfGridCellContent content = new PdfGridCellContent(); SizeF imageSize = new SizeF(120, 80); content.ImageSize = imageSize; content.Image = PdfImage.FromFile(imgpath); contentList.List.Add(content); row2.Cells[1].Value = contentList; //绘制表格到页面指定位置 grid.Draw(page, new PointF(0, 40)); //保存PDF文档 pdf.SaveToFile("AddBarcodeToTable.pdf",FileFormat.PDF); System.Diagnostics.Process.Start("AddBarcodeToTable.pdf"); } }}
vb.net
Imports Spire.PdfImports Spire.Pdf.BarcodeImports Spire.Pdf.GraphicsImports Spire.Pdf.GridImports System.DrawingNamespace AddBarcodeToTable Class Program Private Shared Sub Main(args As String()) '创建PDF文档 Dim pdf As New PdfDocument() Dim page As PdfPageBase = pdf.Pages.Add() '创建PdfGrid类的表格对象 Dim grid As New PdfGrid() grid.Style.CellPadding = New PdfPaddings(1, 1, 1, 1) grid.Style.Font = New PdfTrueTypeFont(New Font("Arial Unicode MS", 9F), True) '添加2行2列到表格 Dim row1 As PdfGridRow = grid.Rows.Add() Dim row2 As PdfGridRow = grid.Rows.Add() grid.Columns.Add(2) '设置列宽 For Each column As PdfGridColumn In grid.Columns column.Width = 150F Next '在单元格中写入数据 row1.Cells(0).Value = "产品编号" row1.Cells(1).Value = "条码" row2.Cells(0).Value = "B0215" '创建条码 Dim barcode1 As New PdfCodabarBarcode("00:12-3456/7890") barcode1.BarcodeToTextGapHeight = 1F barcode1.EnableCheckDigit = True barcode1.ShowCheckDigit = True barcode1.TextDisplayLocation = TextLocation.Bottom barcode1.TextColor = Color.Blue '将条码保存为图片到指定路径 Dim image As Image = barcode1.ToImage() image.Save("F:/VS2017Project/DrawTable_PDF/AddBarcodeToTable/bin/Debug/BarcodeImage.png") '将条码图片添加到表格单元格 Dim imgpath As String = "F:/VS2017Project/DrawTable_PDF/AddBarcodeToTable/bin/Debug/BarcodeImage.png" Dim contentList As New PdfGridCellContentList() Dim content As New PdfGridCellContent() Dim imageSize As New SizeF(120, 80) content.ImageSize = imageSize content.Image = PdfImage.FromFile(imgpath) contentList.List.Add(content) row2.Cells(1).Value = contentList '绘制表格到页面指定位置 grid.Draw(page, New PointF(0, 40)) '保存PDF文档 pdf.SaveToFile("AddBarcodeToTable.pdf", FileFormat.PDF) System.Diagnostics.Process.Start("AddBarcodeToTable.pdf") End Sub End ClassEnd Namespace
文档效果:
关于“C#/VB.NET怎么实现在PDF表格中添加条形码”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“C#/VB.NET怎么实现在PDF表格中添加条形码”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网行业资讯频道。