1. 程式人生 > 實用技巧 >C#/VB.NET 在Word中新增條碼、二維碼

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.dllSpire.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

(完)