本文介绍如何通过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[]; //使用Spire.Barcode的BarcodeSettings和BarcodeGenerator类创建条码并保存为图片
BarcodeSettings settings = new BarcodeSettings();
settings.Type = BarCodeType.Code128;
settings.Data = "";
settings.Data2D = "";
settings.ShowText = false;
settings.BarHeight = ;
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() '使用Spire.Barcode的BarcodeSettings和BarcodeGenerator类创建条码并保存为图片
Dim settings As New BarcodeSettings()
settings.Type = BarCodeType.Code128
settings.Data = ""
settings.Data2D = ""
settings.ShowText = False
settings.BarHeight =
settings.X = .3F
settings.HasBorder = True
settings.BorderWidth = .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[]; //使用Spire.Barcode的BarcodeSettings和BarcodeGenerator类创建二维码并保存为图片
BarcodeSettings settings = new BarcodeSettings();
settings.Type = BarCodeType.QRCode;
settings.ImageWidth = ;
settings.ImageHeight = ;
settings.Data = "";
settings.Data2D = "";
settings.X =0.7f;
settings.LeftMargin = ;
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() '使用Spire.Barcode的BarcodeSettings和BarcodeGenerator类创建二维码并保存为图片
Dim settings As New BarcodeSettings()
settings.Type = BarCodeType.QRCode
settings.ImageWidth =
settings.ImageHeight =
settings.Data = ""
settings.Data2D = ""
settings.X = .7F
settings.LeftMargin =
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
(完)