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

yizhihongxing

请注意以下的详细攻略:

准备工作

在使用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#常用GDI+文字操作汇总

    C#常用GDI+文字操作汇总 简介 GDI+是微软提供的图像编程接口,被广泛应用于.Net框架下的Windows图形化程序开发中,其中文字操作是常见需求之一。本篇文章将介绍一些常用的GDI+文字操作技巧,包括字体、颜色、对齐方式、文本布局、阴影等。 字体 在GDI+中,字体是一个关键的概念,有许多使用字体的属性可调整。下面是一些常用的字体属性。 //创建新字…

    C# 2023年5月31日
    00
  • 将Qt项目升级到Qt6吐血经验总结

    将Qt项目升级到Qt6可以遵循以下步骤: 1. 确认Qt6支持的平台 在开始升级前,我们需要确认Qt6支持的平台。Qt6对于一些旧的操作系统版本不再提供支持,所以需要我们确认一下项目所使用的操作系统版本是否被支持。另外,我们还需要看一下使用的库和第三方工具是否支持Qt6。 2. 确定迁移方案 升级Qt版本的方案可能会因为项目的规模、使用的功能和库以及代码库的…

    C# 2023年5月15日
    00
  • C# Convert.ToString()方法: 将指定的值转换为字符串

    下面我会详细讲解C#的Convert.ToString()方法的作用与使用方法。 Convert.ToString()方法的作用 Convert.ToString()方法是将数据转换为字符串的常用方法。该方法可以将任意数据类型(如数字、日期、布尔型变量等)转换为字符串类型的值。 Convert.ToString()方法的使用方法 Convert.ToStri…

    C# 2023年4月19日
    00
  • asp.net获取服务器基本信息的方法代码

    当在开发ASP.NET应用程序时,我们经常需要获取服务器的基本信息,例如操作系统版本、处理器等。下面我将详细讲解如何通过代码获取这些信息。 获取操作系统版本以及平台信息 我们可以通过System.Environment类中的OSVersion和ProcessorCount属性来获取服务器的操作系统版本信息和处理器的数量。具体代码如下: using Syste…

    C# 2023年5月31日
    00
  • ASP.NET Core扩展库ServiceStack.Redis用法介绍

    ASP.NET Core扩展库ServiceStack.Redis用法介绍 ServiceStack.Redis是一个高性能的.NET Redis客户端,它提供了一组易于使用的API,用于与Redis数据库进行交互。在本攻略中,我们将详细讲解ASP.NET Core扩展库ServiceStack.Redis的用法,并提供两个示例说明。 步骤一:安装Servi…

    C# 2023年5月17日
    00
  • .NET Core控制台应用ConsoleApp读取appsettings.json配置文件

    .NET Core控制台应用ConsoleApp读取appsettings.json配置文件 在.NET Core控制台应用程序中,读取appsettings.json配置文件是一项非常重要的任务,它可以帮助您管理应用程序的配置信息。在本攻略中,我们将详细讲解如何读取appsettings.json配置文件,并提供两个示例说明。 步骤一:添加Microsof…

    C# 2023年5月17日
    00
  • C# 中文简体转繁体实现代码

    针对您所提出的问题,我将为您提供一份针对C#中文简体转繁体实现的完整攻略。 1. 了解中文简体和繁体 中文的简体和繁体是两种不同的汉字书写方式,简体汉字主要在中国大陆地区和新加坡使用,而繁体汉字则主要在中国台湾、香港以及澳门等地区使用。因此,如果您的应用需要支持不同地区的用户并且需要涉及到中文的显示和输入,可能需要提供简繁转换的功能。 2. 简体转繁体的实现…

    C# 2023年6月7日
    00
  • C# Contains(T):确定 ICollection是否包含特定值

    C# Contains(T)方法的完整攻略 简介 Contains(T)是C#的泛型方法,用于判断某个集合是否包含某个指定元素。方法返回值为bool类型,如果集合中包含该元素,则返回true,否则返回false。 方法签名 public static bool Contains<TSource>(this IEnumerable<TSour…

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