乘风原创程序

  • C#/VB.NET 在Word中添加条码、二维码的示例代码
  • 2020/7/17 8:35:02
  • 本文介绍如何通过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

    二维码添加效果: