C#/VB.NET 在Word中添加條碼、二維碼

来源:https://www.cnblogs.com/Yesi/archive/2020/07/16/13322749.html
-Advertisement-
Play Games

本文介紹如何通過C# 和VB.NET代碼實現在Word文檔中添加條碼和二維碼。代碼中將分為在Word正文段落中、頁眉頁腳中等情況來添加。 使用工具:Free Spire.Office for .NET (免費版) 工具簡介:這是Spire所有.NET平臺下免費產品的集合包,包含Spire.Barco ...


本文介紹如何通過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

 

(完)


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1.線程狀態 新生狀態->就緒狀態->運行狀態->死亡狀態 註: 1.線程死亡後不能重新開啟 2.線程阻塞後進入就緒狀態 註: 1.每個線程new一個對象後,都有自己的工作空間,一個工作空間匹配一個線程 2.進入就緒狀態的四種方法:start方法,阻塞接觸,yield方法,jvm將cpu從本地線程切 ...
  • Java File類基礎解析 使用遞歸來遍歷目錄的代碼 2 package File; import java.io.File; public class Main { public static void main(String[] args) { //要遍歷的文件夾的根目錄 String roo ...
  • Java File類基礎解析 1 File類的構造方法 public File(String pathname) :通過給定的路徑名字元轉換為抽象路徑名來創建新的File實例 String path = new String("D:\\a.text"); File file = new File(p ...
  • 不知不覺,2020年已經過去一半了,最近突然反應過來自己也看了不少文獻資料了,就想著把看過的文獻和覺得比較好的書籍做一個總結,基本都是大數據分散式領域的,回顧自己學識的同時,也給想從事或這個領域的小伙伴一些參考 ...
  • 前言 本文的文字及圖片來源於網路,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯繫我們以作處理。 作者:Hanz — 1 — 如果你對本文的代碼感興趣,可以去 Github (文末提供)里查看。第一次運行的時候會報一個錯誤(還沒找到解決辦法),不過只要再運行一次就正常了。 ...
  • Xunit.DependencyInjection 7.0 發佈了 Intro 上次我們已經介紹過一次大師的 Xunit.DependencyInjection https://www.cnblogs.com/weihanli/p/xuint-dependency-injection.html ,最 ...
  • 工作上什麼不順的bug就記錄在這吧。。。。。。 1,空異常會常常考慮到,但是這裡容易報一個序列不包含任何元素異常,假如dt沒有行。 dt.AsEnumerable().Max(row => row[column].ToString().Length); ...
  • ViewFaceCore 0.2 超簡單的 C# 人臉識別庫 前言: 首先謝謝大家對這個庫的關註,前一篇博文得到了大家的 支持 和 Star,十分開心。本想儘快實現大家的期待的活體檢測功能,但是前段時間太忙了,是在抱歉!!! ⭐、GitHub & Important 本次更新的內容在 antispo ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...