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

请注意以下的详细攻略:

准备工作

在使用C#/VB.NET代码添加条码或者二维码前,我们需要先安装对应的NuGet包。在Visual Studio中,可以通过NuGet Package Manager来安装。

对于添加条码,我们可以使用一个叫做ZXing.Net的Nuget包。ZXing.Net是一个用C#编写的开源程序库,用于读写二维码和条形码。它支持多种符号,包括UPC-A, UPC-E, EAN-8, EAN-13, Code 39, Code 93, Code 128, ITF, QR Code, Data Matrix, Aztec等等。

对于添加二维码,我们可以使用一个叫做QRCoder的Nuget包。QRCoder是一个轻量级的QR码生成库,使用C#编写。它可以生成PNG, GIF, BMP, SVG, PDF格式的二维码。

在安装好了NuGet包之后,我们就可以开始示例代码的编写了。

ZXing.Net 在Word中添加条码的示例代码

我们可以先通过一条简单的示例代码来介绍如何将条码添加到Word中。在这个例子中,我们将添加一个Code 39类型的条码,并使用C#编写代码。

using System.IO;
using System.Drawing.Imaging;
using System.Drawing.Printing;
using System.Drawing;
using ZXing;

// 设置一些参数
var text = "123456ABC";
var width = 150;
var height = 100;
var margin = 10;

// 初始化条码
var writer = new BarcodeWriter();
writer.Format = BarcodeFormat.CODE_39;

var options = new EncodingOptions()
{
    Width = width,
    Height = height,
    Margin = margin
};

writer.Options = options;

// 生成条码图片
var bitmap = writer.Write(text);
var stream = new MemoryStream();
bitmap.Save(stream, ImageFormat.Png);

// 将生成的图片插入Word文档
Object oMissing = System.Reflection.Missing.Value;
var oWord = new Microsoft.Office.Interop.Word.Application();
var oDoc = oWord.Documents.Add(ref oMissing, ref oMissing, ref oMissing, ref oMissing);

oWord.Visible = true;

var oRange = oDoc.Bookmarks.get_Item(ref oMissing).Range;

oRange.InlineShapes.AddPicture(stream, ref oMissing, ref oMissing, ref oMissing);

// 修改图片大小
var oShape = oRange.InlineShapes[1];
oShape.Width = 300;
oShape.Height = 200;

QRCoder 在Word中添加二维码的示例代码

现在,我们就可以通过下面的示例代码来将二维码添加到Word中了。在这个例子中,我们将添加一个包含URL的QR码,同样使用C#编写代码。

using QRCoder;

// 设置一些参数
var text = "http://google.com";
var width = 150;
var height = 150;

// 初始化QR码
var qrGenerator = new QRCodeGenerator();
var qrCodeData = qrGenerator.CreateQrCode(text, QRCodeGenerator.ECCLevel.Q);
var qrCode = new QRCode(qrCodeData);

// 生成QR码图片
var bitmap = qrCode.GetGraphic(width, Color.Black, Color.White, true);
var stream = new MemoryStream();
bitmap.Save(stream, ImageFormat.Png);

// 将生成的图片插入Word文档
Object oMissing = System.Reflection.Missing.Value;
var oWord = new Microsoft.Office.Interop.Word.Application();
var oDoc = oWord.Documents.Add(ref oMissing, ref oMissing, ref oMissing, ref oMissing);

oWord.Visible = true;

var oRange = oDoc.Bookmarks.get_Item(ref oMissing).Range;

oRange.InlineShapes.AddPicture(stream, ref oMissing, ref oMissing, ref oMissing);

// 修改图片大小
var oShape = oRange.InlineShapes[1];
oShape.Width = 300;
oShape.Height = 300;

以上就是将条码和二维码添加到Word文档的示例代码。需要注意的是,我们使用了一些.NET中的常用类和库,例如MemoryStream、ImageFormat等。同时,我们也修改了插入图片的大小,这样可以让生成的条码或二维码更加美观。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#/VB.NET 在Word中添加条码、二维码的示例代码 - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • 基于C#制作一个飞机大战小游戏的全过程

    下面将详细讲解如何基于C#制作一个飞机大战小游戏的全过程。 第一步:游戏的框架搭建 在C#开发环境中新建一个空白项目,然后添加游戏画面的素材图片和背景音乐。接下来,我们需要编写游戏框架,包括游戏主循环和绘制游戏画面的代码。以下是一段示例代码: // 定义游戏主窗口 public class MainWindow : Form { // 定义画面控件 priv…

    C# 2023年6月7日
    00
  • C# 接口的隐式与显示实现及适应场景

    C# 接口提供了一种将实现细节和表示细节分离的方法。使用接口可以定义类应该实现的属性、方法和事件,而不需要指定它们的实现细节。接口的隐式和显式实现机制是实现接口时需要注意的地方。 隐式实现和显示实现 C# 接口有两种实现方式:隐式实现和显示实现。这两种实现方式根据实现方法的可见性和调用方式的不同而不同。 隐式实现 在隐式实现中,接口的方法和属性在实现类中的实…

    C# 2023年5月14日
    00
  • ASP.NET Core 数据保护(Data Protection)上篇

    ASP.NET Core 数据保护(Data Protection)是一种用于保护数据的框架,它提供了一种简单的方法来加密和解密数据。本攻略将深入探讨ASP.NET Core 数据保护的实现,并提供两个示例说明。 1. 数据保护的基本原理 ASP.NET Core 数据保护的基本原理是使用密钥来加密和解密数据。密钥可以是对称密钥或非对称密钥。对称密钥是一种加…

    C# 2023年5月17日
    00
  • C#定时器组件FluentScheduler用法

    C#定时器组件FluentScheduler用法 概述 FluentScheduler是一个C#的定时器组件,通过简洁的API使得编写定时任务变得非常简单。它支持非常灵活的定时方案配置,包括每隔一定时间、某一特定时刻执行、星期几执行等。并且,FluentScheduler支持多线程执行任务,可以极大地提升任务执行效率。 安装 FluentScheduler可…

    C# 2023年6月1日
    00
  • C#编程实现Excel文档中搜索文本内容的方法及思路

    C#编程实现Excel文档中搜索文本内容的方法及思路 在 C# 编程中,实现搜索 Excel 文档中的文本内容是一个常见的需求。本文将介绍如何使用 C# 进行 Excel 文档的搜索文本内容,并附带两个示例说明。 思路 实现搜索 Excel 文档中的文本内容,可以采用以下步骤: 打开需要搜索的 Excel 文档。 遍历 Excel 文档中的所有单元格,查找包…

    C# 2023年6月8日
    00
  • 关于System.Convert的那些事儿

    关于System.Convert的详细讲解 System.Convert是什么? System.Convert是.NET Framework中提供的一组类型转换方法,可以将一种类型的值转换成另一种类型。它的主要作用是方便开发者进行各种类型之间的转换,使得开发过程中的数据处理更加方便、快捷、高效。 怎样使用System.Convert? System.Conv…

    C# 2023年5月15日
    00
  • WPF实现钟表效果

    下面我会为你详细讲解“WPF实现钟表效果”的完整攻略。 一、准备工作 1. 新建WPF应用程序 首先,我们需要新建一个WPF应用程序。 2. 引用PresentationCore、PresentationFramework、WindowsBase三个文件 在新建的WPF应用程序中,我们需要添加 PresentationCore、PresentationFra…

    C# 2023年6月1日
    00
  • C#微信开发之接收 / 返回文本消息

    C#微信开发之接收/返回文本消息的完整攻略如下: 一、前置知识 C#编程基础知识 微信公众号开发基础知识 微信公众号注册和认证 二、准备工作 注册微信公众号,获取AppID和AppSecret。 部署Web服务器。 在微信公众号后台中配置服务器地址和Token。 三、搭建基础框架 新建C#项目,并添加NuGet包WeChatSDK。 编写入口函数,创建WeC…

    C# 2023年5月15日
    00
合作推广
合作推广
分享本页
返回顶部