DevExpress Office & PDF File控件用于生成、编辑和转换不依赖于Microsoft Office或Adobe Acrobat的文档(DOCx、XLSx、PDF、PPTx),构建主详细信息报表,引入AI支持的文档分析和密码保护信息。

在上文中主要介绍DevExpress Office & PDF File v26.1中新增的PDF Processing API(点击这里回顾>>),本文将继续介绍v26.1中新增的Barcode Generation API(条码生成API),欢迎点赞关注哦,不定期更新~
DevExpress新旧版本帮助文档下载可进QQ qun获取:169725316
全新的Barcode Generation API
DevExpress Office & PDF File API v26.1为现代.NET应用程序引入了一个新的独立条形码生成库(DevExpress.Docs.Barcode),它使用强类型配置对象,支持异步导出/跨平台渲染,并可以跨多种格式生成1D和2D条形码。
关键功能
- 为1D和2D条码支持30+个条码符号。
- 统一的BarcodeGenerator类 - 用于所有符号和输出格式的单个可重用对象。
- 通过对象初始值设定项进行流畅的样式配置 - BarcodeOptions允许您在一个表达式中声明所有外观、布局和符号设置(无需中间设置步骤)。
- 多个导出目标 - 光栅和矢量图像(PNG、JPEG、BMP、SVG、EMF/WMF)、内存中的DXImage对象和PDF。
- Async API --- ExportAsync和ExportToImageAsync重载,用于web和桌面应用程序中的无阻塞生成。
- 支持直接打印 - 使用Print API 和PrintOptions将条形码直接发送到打印机
- 二进制数据重载 - 使用原始字节数组对非文本有效载荷(GS1 DataMatrix,PDF417二进制段)进行编码。
- 可读文本控 - 配置文本可见性、字体、对齐、换行和从右向左的方向,而不依赖于条形码符号本身。
- 跨平台渲染 - 使用Skia渲染引擎在Windows和Linux/macOS上运行。
- 运行时选项交换 - 更新条形码生成器,在运行时使用具有不同配置的单个生成器实例的选项。
- 向文档添加条形码 - 使用DevExpress Office & PDF File APIs将条形码直接插入Word、Excel、PowerPoint和PDF文档。
支持的符号
- 1D条码:Codabar, Code 11 (USD-8), Code 128, Code 39 (USD-3), Code 39 Extended, Code 93, Code 93 Extended, EAN 8, EAN 13, EAN-128 (UCC), Industrial 2 of 5, Interleaved 2 of 5, Matrix 2 of 5, MSI - Plessey, PostNet, SSCC-18, UPC Supplemental 2, UPC Supplemental 5, UPC-A, UPC-E0, UPC-E1, GS1 DataBar, UPC Shipping Container Symbol (ITF-14)
- 2D条码:Aztec Code, Data Matrix (ECC200), EPC QR Code, Micro QR Code, GS1 - Data Matrix, Intelligent Mail, PDF417, QR Code, GS1 - QR Code
Barcode Generation(条形码)生成入门指南
安装DevExpress.Docs.Barcode NuGet包
console
dotnet add package DevExpress.Docs.Barcode
示例1 --- 创建数据栏并保存到PNG
C#
cs
using DevExpress.Docs.Barcode;
using DevExpress.Drawing;
using System.Drawing;
var databarOptions = new DataBarOptions();
databarOptions.ShowText = false;
databarOptions.Padding = new Padding(5);
databarOptions.BorderWidth = 1;
using var databarOptionsStream = new FileStream("databar.png", FileMode.Create);
using var databarOptionsGenerator = new BarcodeGenerator(databarOptions);
databarOptionsGenerator.Export("(01)09521234543213", databarOptionsStream, DXImageFormat.Png);
示例2 --- 创建QR代码并保存到PNG(Fluent)
C#
cs
using DevExpress.Docs.Barcode;
using DevExpress.Drawing;
using System.Drawing;
using var logoStream = new FileStream("logo.png", FileMode.Open);
var qrcode = QRCodeOptionsBuilder.Create()
.WithErrorCorrectionLevel(QRCodeErrorCorrectionLevel.H)
.WithCompactionMode(QRCodeCompactionMode.Auto)
.WithIncludeQuietZone(true)
.WithLogo(DXImage.FromStream(logoStream))
.WithVersion(QRCodeVersion.Version10)
.WithModuleSize(40)
.WithBackColor(Color.LightGray)
.WithShowText(false)
.WithPadding(5)
.WithBorderWidth(1)
.WithBorderColor(Color.Blue)
.Build();
using var stream = new FileStream("qrcode.png", FileMode.Create);
using var generator = new BarcodeGenerator(qrcode);
generator.Export("https://www.devexpress.com", stream, DXImageFormat.Png);
迁移到新的Barcode Generation API --- DevExpress.Docs.Barcode
要从DevExpress.BarCodes迁移到新的DevExpress.Docs.Barcode,必须:
- 安装DevExpress.Docs.Barcode NuGet包。
console
cs
dotnet add package DevExpress.Docs.Barcode
如果不使用条形码以外的任何Office File API库,请从应用程序中删除DevExpress.Document.Processor NuGet包。
- 用DevExpress.BarCodes命名空间替换DevExpress.Docs.Barcode,并更新类型名称。
C#
cs
// using DevExpress.BarCodes;
using DevExpress.Docs.Barcode;
- 用新的对应项替换旧类型。
- 验证样本集中的条形码输出(扫描结果、模块大小、安静区域和校验和操作)。
迁移示例
旧条形码生成API - DevExpress.BarCodes
C#
cs
using DevExpress.BarCodes;
using DevExpress.Drawing;
// Create an Aztec Code
BarCode barCode = new BarCode();
barCode.Symbology = Symbology.AztecCode;
barCode.CodeText = "0123-456789";
barCode.Options.AztecCode.ErrorLevel = AztecCodeErrorLevel.Level1;
barCode.Options.AztecCode.Version = AztecCodeVersion.Version45x45;
// Save the barcode as an image
barCode.Save("BarCodeImage.png", DXImageFormat.Png);
新的条码生成API - DevExpress.Docs.Barcode
C#
cs
using DevExpress.Docs.Barcode;
using DevExpress.Drawing;
// Create an Aztec Code
var aztecOptions = new AztecCodeOptions();
aztecOptions.CompactionMode = AztecCodeCompactionMode.Text;
aztecOptions.ErrorCorrectionLevel = AztecCodeErrorCorrectionLevel.Level1;
aztecOptions.Version = AztecCodeVersion.Version45x45;
using var aztecOptionsStream = new FileStream("BarCodeImage.png", FileMode.Create);
using var aztecOptionsGenerator = new BarcodeGenerator(aztecOptions);
aztecOptionsGenerator.Export("0123-456789", aztecOptionsStream, DXImageFormat.Png);