此经验内容介绍如何通过C# 和VB.NET代码实现在Word文档中添加条码和二维码。代码中将分为在Word正文段落中、页眉页脚中等情况来添加。
工具/原料
Free Spire.Office for .NET (免费版)
工具获取及dll文件导入:
1、可在E-iceblue中文官网下载,并解压安装到本地指定路径,完成安装后,将Bin文件夹下的Spire.Doc.dll和Spire.Barcode.dll这两个dll文件添加引用到VS程序。如下引用效果:
1. 添加条码到Word
1、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"); } }}
2、VB.NETImports Spire.DocImports Spire.BarcodeImports System.DrawingI罪焐芡拂mports System.IOImports Spire.Doc.DocumentsNamespace 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 ClassEnd Namespace
2. 添加二维码到Word
1、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"); } }}
2、VB.NETImports Spire.DocImports Spire.BarcodeImports System.DrawingI罪焐芡拂mports System.IOImports Spire.Doc.DocumentsNamespace 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 ClassEnd Namespace