本文介绍如何通过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#

usingSpire.Doc;usingSpire.Barcode;usingSystem.Drawing;usingSystem.IO;usingSpire.Doc.Documents;namespaceAddBarcode{classProgram{staticvoidMain(string[]args){//调用方法ApplyKey(stringkey)移除水印文字Spire.Barcode.BarcodeSettings.ApplyKey("在这里输入去除水印字样的序列号");//创建Document对象,加载Word文档Documentdoc=newDocument();doc.LoadFromFile("test.docx");//获取第2节Sectionsection=doc.Sections[1];//使用Spire.Barcode的BarcodeSettings和BarcodeGenerator类创建条码并保存为图片BarcodeSettingssettings=newBarcodeSettings();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;BarCodeGeneratorbarCodeGenerator=newBarCodeGenerator(settings);ImageImage=barCodeGenerator.GenerateImage();//Image.Save("Barcode.png",System.Drawing.Imaging.ImageFormat.Png);//如果需要保存生成的Barcode图片,可执行此步骤代码//添加条码到正文段落Paragraphparagraph=section.AddParagraph();paragraph.Text="收货码:";paragraph.AppendPicture(Image);paragraph.Format.HorizontalAlignment=HorizontalAlignment.Right;//添加条码图片到Word页脚HeaderFooterfooter=section.HeadersFooters.Footer;Paragraphfooterpara=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

ImportsSpire.DocImportsSpire.BarcodeImportsSystem.DrawingImportsSystem.IOImportsSpire.Doc.DocumentsNamespaceAddBarcodeClassProgramPrivateSharedSubMain(argsAsString())'调用方法ApplyKey(stringkey)移除水印文字Spire.Barcode.BarcodeSettings.ApplyKey("在这里输入去除水印字样的序列号")'创建Document对象,加载Word文档DimdocAsNewDocument()doc.LoadFromFile("test.docx")'获取第2节DimsectionAsSection=doc.Sections(1)'使用Spire.Barcode的BarcodeSettings和BarcodeGenerator类创建条码并保存为图片DimsettingsAsNewBarcodeSettings()settings.Type=BarCodeType.Code128settings.Data="123456789"settings.Data2D="123456789"settings.ShowText=Falsesettings.BarHeight=4settings.X=0.3Fsettings.HasBorder=Truesettings.BorderWidth=0.5Fsettings.BorderColor=Color.AliceBluesettings.BackColor=Color.WheatDimbarCodeGeneratorAsNewBarCodeGenerator(settings)DimImageAsImage=barCodeGenerator.GenerateImage()'Image.Save("Barcode.png",System.Drawing.Imaging.ImageFormat.Png);//如果需要保存生成的Barcode图片,可执行此步骤代码'添加条码到正文段落DimparagraphAsParagraph=section.AddParagraph()paragraph.Text="收货码:"paragraph.AppendPicture(Image)paragraph.Format.HorizontalAlignment=HorizontalAlignment.Right'添加条码图片到Word页脚DimfooterAsHeaderFooter=section.HeadersFooters.FooterDimfooterparaAsParagraph=footer.AddParagraph()footerpara.Text="扫码识真伪:"footerpara.AppendPicture(Image)footerpara.Format.HorizontalAlignment=HorizontalAlignment.Left'保存文档doc.SaveToFile("BarCodeToWord.docx",FileFormat.Docx2013)System.Diagnostics.Process.Start("BarCodeToWord.docx")EndSubEndClassEndNamespace

2. 添加二维码到Word

C#

usingSpire.Doc;usingSpire.Barcode;usingSystem.Drawing;usingSystem.IO;usingSpire.Doc.Documents;usingSystem;namespaceAddQRCode{classProgram{staticvoidMain(string[]args){//调用方法ApplyKey(stringkey)移除水印文字Spire.Barcode.BarcodeSettings.ApplyKey("在这里输入去除水印字样的序列号");//创建Document对象,加载Word文档Documentdoc=newDocument();doc.LoadFromFile("test.docx");//获取第2节Sectionsection=doc.Sections[1];//使用Spire.Barcode的BarcodeSettings和BarcodeGenerator类创建二维码并保存为图片BarcodeSettingssettings=newBarcodeSettings();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;BarCodeGeneratorgenerator=newBarCodeGenerator(settings);Imageimage=generator.GenerateImage();//image.Save("QRCode.png",System.Drawing.Imaging.ImageFormat.Png);//如果需要保存生成的二维码图片,可执行此步骤代码//添加二维码到正文段落Paragraphparagraph=section.AddParagraph();paragraph.AppendPicture(image);paragraph.Format.HorizontalAlignment=HorizontalAlignment.Right;//添加二维码图片到Word页眉HeaderFooterheader=section.HeadersFooters.Header;//HeaderFooterfooter=section.HeadersFooters.Footer;//获取页脚Paragraphheaderpara=header.AddParagraph();headerpara.AppendPicture(image);headerpara.Format.HorizontalAlignment=HorizontalAlignment.Center;//保存文档doc.SaveToFile("QRCodeToHeader.docx",FileFormat.Docx2013);System.Diagnostics.Process.Start("QRCodeToHeader.docx");}}}

二维码添加效果:

VB.NET

ImportsSpire.DocImportsSpire.BarcodeImportsSystem.DrawingImportsSystem.IOImportsSpire.Doc.DocumentsNamespaceAddQRCodeClassProgramPrivateSharedSubMain(argsAsString())'调用方法ApplyKey(stringkey)移除水印文字Spire.Barcode.BarcodeSettings.ApplyKey("在这里输入去除水印字样的序列号")'创建Document对象,加载Word文档DimdocAsNewDocument()doc.LoadFromFile("test.docx")'获取第2节DimsectionAsSection=doc.Sections(1)'使用Spire.Barcode的BarcodeSettings和BarcodeGenerator类创建二维码并保存为图片DimsettingsAsNewBarcodeSettings()settings.Type=BarCodeType.QRCodesettings.ImageWidth=50settings.ImageHeight=50settings.Data="123456"settings.Data2D="123456"settings.X=0.7Fsettings.LeftMargin=1settings.ShowTextOnBottom=Truesettings.QRCodeECL=QRCodeECL.Qsettings.QRCodeDataMode=QRCodeDataMode.NumericDimgeneratorAsNewBarCodeGenerator(settings)DimimageAsImage=generator.GenerateImage()'image.Save("QRCode.png",System.Drawing.Imaging.ImageFormat.Png);//如果需要保存生成的二维码图片,可执行此步骤代码'添加二维码到正文段落DimparagraphAsParagraph=section.AddParagraph()paragraph.AppendPicture(image)paragraph.Format.HorizontalAlignment=HorizontalAlignment.Right'添加二维码图片到Word页眉DimheaderAsHeaderFooter=section.HeadersFooters.Header'HeaderFooterfooter=section.HeadersFooters.Footer;//获取页脚DimheaderparaAsParagraph=header.AddParagraph()headerpara.AppendPicture(image)headerpara.Format.HorizontalAlignment=HorizontalAlignment.Center'保存文档doc.SaveToFile("QRCodeToHeader.docx",FileFormat.Docx2013)System.Diagnostics.Process.Start("QRCodeToHeader.docx")EndSubEndClassEndNamespace