• 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

    (完)

  • 相关阅读:
    Android PopupWindow显示位置和显示大小
    线性回归与梯度下降
    nginx启动过程分析
    项目管理学习笔记之三.绩效分析
    会计总论读书笔记
    电子书阅读及工具
    mybatis-mysql小优化
    List去重
    JAVA8之lambda表达式详解,及stream中的lambda使用
    linux部署mongodb及基本操作
  • 原文地址:https://www.cnblogs.com/Yesi/p/13322749.html
Copyright © 2020-2023  润新知