如何在C#,vb等.NET平台语言里实现快速准确从pdf文件读取,或者从Pdf指定页面读取条形码或QR二维码呢?答案是使用SharpBarcode!
SharpBarcode是C#快速高效、准确的条形码,线性条码,QR二维码的读取和生成类库。接口调用简单,文档齐全。

初识SharpBarcode

您可以点击下面的链接了解更多信息:
1、SharpBarcode简介
2、一张图看懂SharpBarcode

从pdf读取条码

本博文主要介绍如何借助SharpBarcode实现从pdf读取条形码或QR二维码。从上面的两篇文章中,相信您已经大概了解了该类库。那么如何实现从pdf读取条码呢?对!就是BarcodeReadEngine的静态方法!

设置授权码

在您调用SharpBarcode的方法之前,必须先设置授权,如果是试用版,直接传入Test即可。

1
2
//设置授权码
KeyMgr.SetKey("Test");

调用BarcodeReadEngine的静态方法读取

我们可以打开SharpBarcode的API帮助文档,我们可以看到很多SharpBarcode的静态方法。虽然方法有很多,理解起来很容易,因为他们按照读取的条码个数不同区分,或者是按照数据源的不同来区分。
通过名字就可以一眼看出具体的功能,我们可以根据项目中的实际情况来调用合适的方法。

//得到Pdf文件全路径
string strFullPath = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "test.pdf");

//调用带Pdf的重载方法来实现从Pdf读取,可以指定特定的页,或者多个页
PagedBarcodeResult[] resultArr = BarcodeReadEngine.ReadBarcodesFromPdfPage(strFullPath, 1);

//显示每一个识别到的barcode,以及总共识别出多少个barcode
if (resultArr != null && resultArr.Length > 0)
{
    label32.Text = string.Format("类型:{0},值:{1}", resultArr[0].BarcodeType, resultArr[0].Text);
    label1.Text = string.Format("类型:{0},值:{1}", resultArr[1].BarcodeType, resultArr[1].Text);
    label3.Text = string.Format("类型:{0},值:{1}", resultArr[2].BarcodeType, resultArr[2].Text);

    //显示读取到了多少个
    label6.Text = resultArr.Length.ToString();
}
else
{
    label6.Text = "0";
}

程序运行结果如下图:

更多说明

SharpBarcode不仅支持从pdf文件读取,而且支持从pdf的字节流,pdf的Stream等等数据源读取。具体可以看API手册。

下载示例源码

点击下载源码