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

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

 

(完)

posted @ 2020-07-16 15:12  E-iceblue  阅读(1104)  评论(0编辑  收藏  举报