本教程显示了如何创建C#Windows控制台应用程序,该应用程序利用LeadTools SDK使用PDF417 AAMVA标准条形码。
概述 | |
---|---|
概括 | 该教程涵盖了如何在C#Windows控制台应用程序中使用LeadTools AAMVA Builder SDK技术。 |
完成时间 | 30分钟 |
Visual Studio项目 | 下载教程项目(3 kb) |
平台 | Windows Console C#应用程序 |
IDE | Visual Studio 2017,2019 |
开发许可证 | 下载LeadTools |
用另一种语言尝试 |
|
熟悉通过审查创建项目的基本步骤添加参考并设置许可证教程,在研究之前编写AAMVA驾驶执照条形码-Console C#教程。
在Visual Studio中,创建一个新的C#Windows控制台项目,并添加以下必要的LeadTools参考。
如果使用Nuget参考,本教程需要以下Nuget软件包:
LeadTools.barcode
如果使用本地DLL引用,则需要以下DLL。DLL位于
:
leadtools.dll
leadtools.barcode.dll
ledstools.barcode.pdfwrite.dll
leadtools.codecs.dll
leadtools.codecs.cmp.dll
笔记
如何正确添加LeadTools Nuget和本地参考添加参考并设置许可证教程。
有关特定格式需要哪些编解码器DLL的完整列表,请参阅文件格式支持。
确保将所有必要的设置许可证和加载代码添加到窗口控制台C#应用程序中添加参考并设置许可证和加载并保存图像教程。在本教程中不需要加载图像,因为它将被生成新的空白栅格图要编写条形码,请评估根据代码。
通过创建项目,添加了引用和许可集,可以开始编码。
在解决方案资源管理器, 打开program.cs。将语句添加到顶部的使用块program.cs变得像以下内容:
//在顶部使用块
使用系统;
使用system.io;
使用LeadTools;
使用leadtools.barcode;
使用Leadtools.codecs;
添加一个名称的方法setaamVaidInformation()
在程序类中,并在上面的代码行下方的主方法内调用该方法。在内部添加以下代码setaamVaidInformation()
方法:
静止的Aamvaid setaamvaidenformation()
{
constintsubfilescount = 1;
DateTime生日=新的dateTime(datetime.now.year -16,dateTime.now.now.now.month,dateTime.now.day);
细绳[,] driverslicensedata =新的细绳[,] {{{“ DDF”,,,,“ n”},,//名字截断(n =未截断)
{“ DDE”,,,,“ n”},,//姓氏截断(n =未截断)
{“ DCG”,,,,“美国”},,//国家身份证明
{“ DCF”,,,,“没有任何”},,//文档鉴别器
{“ daq”,,,,“ 1234567890”},,// 身份证号
{“ dak”,,,,“ 123456”},,// 邮政编码
{“ daj”,,,,“ PA”},,//地址管辖权代码
{“ dai”,,,,“任何城镇”},,//地址城市
{“ dag”,,,,“ 123 Main Street”},,//地址街1
{“ dau”,,,,“ 072”},,//高度(英寸或厘米)
{“天”,,,,“兄弟”},,// 眼睛的颜色
{“ DBC”,,,,“ 1”},,//性别(男性= 1,女性= 2,9 =未指定)
{“ DBB”,生日。“ mmddyyyy”),// 出生日期
{“ DBD”,datetime.now.tostring(“ mmddyyyy”),//文件发行日期
{“爸爸”,,,,“没有任何”},,// 中间名字
{“ DAC”,,,,“约翰”},,// 名
{“ DCS”,,,,“母鹿”},,// 姓
{“ DBA”,datetime.now.addyears(6).tostring(“ mmddyyyy”),// 截止日期
{“ DCD”,,,,“ M”},,//特定于管辖权的背书代码
{“ DCB”,,,,“没有任何”},,//特定于管辖权的限制代码
{“ DCA”,,,,“C”},,//特定于特定的车辆类
{“ DDJ”,生日。addyears(21)。“ mmddyyyy”),// 21岁以下直到
{“ ddi”,生日。addyears(19)。“ mmddyyyy”),// 19岁以下直到
{“ DDH”,生日。addyears(18)。“ mmddyyyy”),// 18岁以下直到
{“达兹”,,,,“兄弟”}};// 发色
使用(AamvaidBuilder Builder =新的AamvaidBuilder())
{
builder.setjurisdiction(aamvajurisdiction.northcarolina,aamvaid.lookupissuerinidentificationnumber(aamvajurisdiction.northcarolina));
builder.setversion(aamvaversion.version2016);
Builder.setJurisDictionVersion(“ 00”);
builder.setnumberofentries(subfilescount);
Builder.setsubfiletype(subfilescount -1,aamvasubfiletype.dl,“ DL”);
为了((inti = 0;i
builder.addataelementtosubfile(0,driverslicensedata [i,0],driverslicensedata [i,1]);
返回builder.build();
}
}
添加了上述代码后,创建一个新方法writeaamvabarcode(栅格图像,aamvaid driverslicenseId)
。在内部添加以下代码writeaamvabarcode(栅格图像,aamvaid driverslicenseId)
将条形码写入一个的方法栅格图。
静止的空白writeaamvabarcode(栅格图像,aamvaid driverslicenseId)
{
Barcodeengine bcengine =新的barcodeengine();
pdf417barcodedata data =新的pdf417barcodedata
{
Symbology = Barcodesymbology.pdf417
};
data.setData(driverslicenseid.getBytes());
pdf417barcodewriteoptions pdf417writeOptions =(pdf417barcodewriteoptions)bcengine.writer.getDefaultOptions(barcodesymbology.pdf417);
pdf417writeOptions.xmodule = 15;
pdf417writeOptions.xmoduleaspectratio = 3;
pdf417writeOptions.ecclevel = pdf417barcodeecclevel.level5;
pdf417writeOptions.symbolwidthaspectratio = 4;
BCENGINE.WRITER.CALCULATEBARCODEDATABOUNDS(LEADRECT.EMPT。
bcengine.writer.writebarcode(图像,数据,pdf417writeOptions);
}
添加保存图片
将结果图像保存到磁盘的方法:
静止的空白saveimage(栅格图像,细绳outputFileName)
{
使用(rastercodecs codecs =新的rastercodecs())
codecs.save(image,outputfileName,rasterimageformat.png,0);
}
添加三个方法后,使用以下代码从主方法调用它们:
静止的空白主要的(细绳[] args)
{
setlicense();
使用(rasterimage image = rasterimage。
{
aamvaid driverslicenseId = setAamVaidInformation();
writeaamvabarcode(图像,driverslicenseId);
saveimage(图像,@“ c:\ ledstools21 \ resources \ images \ aamvapdf417barcode.png”);
console.Writeline(“ Aamvaid编写并保存到档案中!”);
}
console.Writeline(“按任何一个键退出...”);
Console.ReadKey();
}
通过按下来运行项目F5,或通过选择调试- >开始调试。
如果正确遵循这些步骤,则运行申请并将PDF417条形码写在空白上栅格图包含指定的AAMVA数据,并将保存到文件中。输出结果应该看起来像:
本教程显示了如何使用barcodewriter
,,,,Aamvaid
和AamvaidBuilder
课程。