欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-03-28 14:30:08
...

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

注意:

1. 需要下载安装到本地指定路径,dll文件可在安装路径下的Bin文件夹下获取。

2. 生成的条码、二维码会有水印字样的文字,可通过此方法去除。

 

代码示例

1. 添加条码到Word

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");
        }
    }
}

 

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

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");
        }
    }
}

 

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