本文介紹如何通過C# 和VB.NET程式碼實現在Word文件中新增條碼和二維碼。程式碼中將分為在Word正文段落中、頁首頁尾中等情況來新增。
使用工具:Free Spire.Office for .NET (免費版)
工具簡介:這是Spire所有.NET平臺下免費產品的集合包,包含Spire.Barcode.dll、Spire.DataExport.dll、Spire.Pdf.dll、Spire.Doc.dll、Spire.DocViewer.Forms.dll 、Spire.PdfViewer.Forms.dll 、Spire.Presentation.dll 、Spire.XLS.dll等dll可用於操作Word/PDF/Excel/PPT等檔案。
本文新增條碼、二維碼需要在VS程式中新增引用 Spire.Doc.dll 和 Spire.Barcode.dll 這兩個dll檔案。
dll新增引用效果:
注意:
1. 需要下載安裝到本地指定路徑,dll檔案可在安裝路徑下的Bin資料夾下獲取。
2. 生成的條碼、二維碼會有水印字樣的文字,可通過此方法去除。
程式碼示例
1. 新增條碼到Word
C#
using Spire.Doc; using Spire.Barcode; using System.Drawing; using System.IO; using Spire.Doc.Documents; namespace AddBarcode { class Program { static void Main(string[] args) { //呼叫方法 ApplyKey(string key) 移除水印文字 Spire.Barcode.BarcodeSettings.ApplyKey("在這裡輸入去除水印字樣的序列號"); //建立Document物件,載入Word文件 Document doc = new Document(); doc.LoadFromFile("test.docx"); //獲取第2節 Section section = doc.Sections[1]; //使用Spire.Barcode的BarcodeSettings和BarcodeGenerator類建立條碼並儲存為圖片 BarcodeSettings settings = new BarcodeSettings(); settings.Type = BarCodeType.Code128; settings.Data = "123456789"; settings.Data2D = "123456789"; settings.ShowText = false; settings.BarHeight = 4; settings.X = 0.3f; settings.HasBorder = true; settings.BorderWidth = 0.5f; settings.BorderColor = Color.AliceBlue; settings.BackColor = Color.Wheat; BarCodeGenerator barCodeGenerator = new BarCodeGenerator(settings); Image Image = barCodeGenerator.GenerateImage(); //Image.Save("Barcode.png", System.Drawing.Imaging.ImageFormat.Png);//如果需要儲存生成的Barcode圖片,可執行此步驟程式碼 //新增條碼到正文段落 Paragraph paragraph = section.AddParagraph(); paragraph.Text = "收貨碼:"; paragraph.AppendPicture(Image); paragraph.Format.HorizontalAlignment = HorizontalAlignment.Right; //新增條碼圖片到Word頁尾 HeaderFooter footer = section.HeadersFooters.Footer; Paragraph footerpara = footer.AddParagraph(); footerpara.Text = "掃碼識真偽:"; footerpara.AppendPicture(Image); footerpara.Format.HorizontalAlignment = HorizontalAlignment.Left; //儲存文件 doc.SaveToFile("BarCodeToWord.docx", FileFormat.Docx2013); System.Diagnostics.Process.Start("BarCodeToWord.docx"); } } }
條碼新增效果:
VB.NET
Imports Spire.Doc Imports Spire.Barcode Imports System.Drawing Imports System.IO Imports Spire.Doc.Documents Namespace AddBarcode Class Program Private Shared Sub Main(args As String()) '呼叫方法 ApplyKey(string key) 移除水印文字 Spire.Barcode.BarcodeSettings.ApplyKey("在這裡輸入去除水印字樣的序列號") '建立Document物件,載入Word文件 Dim doc As New Document() doc.LoadFromFile("test.docx") '獲取第2節 Dim section As Section = doc.Sections(1) '使用Spire.Barcode的BarcodeSettings和BarcodeGenerator類建立條碼並儲存為圖片 Dim settings As New BarcodeSettings() settings.Type = BarCodeType.Code128 settings.Data = "123456789" settings.Data2D = "123456789" settings.ShowText = False settings.BarHeight = 4 settings.X = 0.3F settings.HasBorder = True settings.BorderWidth = 0.5F settings.BorderColor = Color.AliceBlue settings.BackColor = Color.Wheat Dim barCodeGenerator As New BarCodeGenerator(settings) Dim Image As Image = barCodeGenerator.GenerateImage() 'Image.Save("Barcode.png", System.Drawing.Imaging.ImageFormat.Png);//如果需要儲存生成的Barcode圖片,可執行此步驟程式碼 '新增條碼到正文段落 Dim paragraph As Paragraph = section.AddParagraph() paragraph.Text = "收貨碼:" paragraph.AppendPicture(Image) paragraph.Format.HorizontalAlignment = HorizontalAlignment.Right '新增條碼圖片到Word頁尾 Dim footer As HeaderFooter = section.HeadersFooters.Footer Dim footerpara As Paragraph = footer.AddParagraph() footerpara.Text = "掃碼識真偽:" footerpara.AppendPicture(Image) footerpara.Format.HorizontalAlignment = HorizontalAlignment.Left '儲存文件 doc.SaveToFile("BarCodeToWord.docx", FileFormat.Docx2013) System.Diagnostics.Process.Start("BarCodeToWord.docx") End Sub End Class End Namespace
2. 新增二維碼到Word
C#
using Spire.Doc; using Spire.Barcode; using System.Drawing; using System.IO; using Spire.Doc.Documents; using System; namespace AddQRCode { class Program { static void Main(string[] args) { //呼叫方法 ApplyKey(string key) 移除水印文字 Spire.Barcode.BarcodeSettings.ApplyKey("在這裡輸入去除水印字樣的序列號"); //建立Document物件,載入Word文件 Document doc = new Document(); doc.LoadFromFile("test.docx"); //獲取第2節 Section section = doc.Sections[1]; //使用Spire.Barcode的BarcodeSettings和BarcodeGenerator類建立二維碼並儲存為圖片 BarcodeSettings settings = new BarcodeSettings(); settings.Type = BarCodeType.QRCode; settings.ImageWidth = 50; settings.ImageHeight = 50; settings.Data = "123456"; settings.Data2D = "123456"; settings.X =0.7f; settings.LeftMargin = 1; settings.ShowTextOnBottom = true; settings.QRCodeECL = QRCodeECL.Q; settings.QRCodeDataMode = QRCodeDataMode.Numeric; BarCodeGenerator generator = new BarCodeGenerator(settings); Image image = generator.GenerateImage(); //image.Save("QRCode.png", System.Drawing.Imaging.ImageFormat.Png);//如果需要儲存生成的二維碼圖片,可執行此步驟程式碼 //新增二維碼到正文段落 Paragraph paragraph = section.AddParagraph(); paragraph.AppendPicture(image); paragraph.Format.HorizontalAlignment = HorizontalAlignment.Right; //新增二維碼圖片到Word頁首 HeaderFooter header = section.HeadersFooters.Header; //HeaderFooter footer = section.HeadersFooters.Footer;//獲取頁尾 Paragraph headerpara = header.AddParagraph(); headerpara.AppendPicture(image); headerpara.Format.HorizontalAlignment = HorizontalAlignment.Center; //儲存文件 doc.SaveToFile("QRCodeToHeader.docx", FileFormat.Docx2013); System.Diagnostics.Process.Start("QRCodeToHeader.docx"); } } }
二維碼新增效果:
VB.NET
Imports Spire.Doc Imports Spire.Barcode Imports System.Drawing Imports System.IO Imports Spire.Doc.Documents Namespace AddQRCode Class Program Private Shared Sub Main(args As String()) '呼叫方法 ApplyKey(string key) 移除水印文字 Spire.Barcode.BarcodeSettings.ApplyKey("在這裡輸入去除水印字樣的序列號") '建立Document物件,載入Word文件 Dim doc As New Document() doc.LoadFromFile("test.docx") '獲取第2節 Dim section As Section = doc.Sections(1) '使用Spire.Barcode的BarcodeSettings和BarcodeGenerator類建立二維碼並儲存為圖片 Dim settings As New BarcodeSettings() settings.Type = BarCodeType.QRCode settings.ImageWidth = 50 settings.ImageHeight = 50 settings.Data = "123456" settings.Data2D = "123456" settings.X = 0.7F settings.LeftMargin = 1 settings.ShowTextOnBottom = True settings.QRCodeECL = QRCodeECL.Q settings.QRCodeDataMode = QRCodeDataMode.Numeric Dim generator As New BarCodeGenerator(settings) Dim image As Image = generator.GenerateImage() 'image.Save("QRCode.png", System.Drawing.Imaging.ImageFormat.Png);//如果需要儲存生成的二維碼圖片,可執行此步驟程式碼 '新增二維碼到正文段落 Dim paragraph As Paragraph = section.AddParagraph() paragraph.AppendPicture(image) paragraph.Format.HorizontalAlignment = HorizontalAlignment.Right '新增二維碼圖片到Word頁首 Dim header As HeaderFooter = section.HeadersFooters.Header 'HeaderFooter footer = section.HeadersFooters.Footer;//獲取頁尾 Dim headerpara As Paragraph = header.AddParagraph() headerpara.AppendPicture(image) headerpara.Format.HorizontalAlignment = HorizontalAlignment.Center '儲存文件 doc.SaveToFile("QRCodeToHeader.docx", FileFormat.Docx2013) System.Diagnostics.Process.Start("QRCodeToHeader.docx") End Sub End Class End Namespace
(完)