C#/VB.NET 在Word中添加条码、二维码的示例代码

所属分类: 网络编程 / ASP.NET 阅读数: 1964
收藏 0 赞 0 分享

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

二维码添加效果:

以上就是C#/VB.NET 在Word中添加条码、二维码的示例代码的详细内容,更多关于C#/VB.NET 在Word中添加条码、二维码的资料请关注脚本之家其它相关文章!

更多精彩内容其他人还在看

ASP.NET笔记之 控件与母板的区别分析

本篇文章小编为大家介绍,ASP.NET笔记之 控件与母板的区别分析。需要的朋友参考下
收藏 0 赞 0 分享

.NET动态加载用户控件并传值的方法

.NET动态加载用户控件并传值的方法,有需要的朋友可以参考一下
收藏 0 赞 0 分享

扩展ASP.NET MVC三层框架且使用StructureMap实现依赖注入1-Model层

本篇文章将向大家介绍如何添加Service和Repository层并且使用StructureMap把Service层注入到Controller,把Repository注入到Service层。
收藏 0 赞 0 分享

aspnetpager重写url(伪静态)配置实例

这几天要用到AspNetPager来做伪静态分页,找了些资料并把修改过程记录下来。
收藏 0 赞 0 分享

C#实现支持断点续传多线程下载客户端工具类

C#实现支持断点续传多线程下载的 Http Web 客户端工具类 (C# DIY HttpWebClient),感兴趣的朋友可以参考下本文,或许对你有所帮助
收藏 0 赞 0 分享

DataGridView多维表头的实现方法

不过我自己还是扩展了DataGridView,使之能制作出多维表头。
收藏 0 赞 0 分享

gridview+objectdatasource+aspnetpager整合实例

gridview+objectdatasource+aspnetpager整合实例,需要的朋友可以参考一下
收藏 0 赞 0 分享

DataTable多列合并问题轻松搞定

由于题库的表结构不相同,导致同样的Gridview在显示时不能同时两种不同结构的数据,这时如何在这个固定的GridView中显示不同的数据呢,感兴趣的朋友可以看下本文的解决方法
收藏 0 赞 0 分享

Asp.net静态方法之Grid转DataTable方法实现步骤

GridView绑定DataTable后,如何获取GridView绑定后显示的值,在项目需求的背景下写了一个静态方法,经过在项目中的使用,bug的修复,较为稳定
收藏 0 赞 0 分享

Asp.net防重复提交机制实现方法

在Button或其他控件加上下面两个属性:UseSubmitBehavior="false"及OnClientClick设置控件为不可用即可,感兴趣的朋友可以参考下哈
收藏 0 赞 0 分享
查看更多