大气网站图,洛阳哪里有做网站的,wordpress站点地址没有,怎样做才能让百度前两页有自己网站内容在 PDF 文档的 .NET 平台处理流程中#xff0c;使用 C# 读取 PDF 条码 是一项常见需求#xff0c;特别适用于处理扫描件或电子表单。无论是物流、金融、医疗还是制造行业#xff0c;PDF 文档中经常包含用于追踪或识别的条码。这些条码可能是嵌入图像#xff0c;也可能是矢量… 在 PDF 文档的 .NET 平台处理流程中使用 C# 读取 PDF 条码 是一项常见需求特别适用于处理扫描件或电子表单。无论是物流、金融、医疗还是制造行业PDF 文档中经常包含用于追踪或识别的条码。这些条码可能是嵌入图像也可能是矢量绘制图形。通过自动识别可显著减少人工操作并提升数据处理效率。
本文将介绍两种方法讲述如何使用 C# 从 PDF 中提取条码信息一种是提取 PDF 页面中的嵌入图片后识别条码另一种是将整个页面渲染为图像再进行识别。这两种方法都支持识别多种 1D 和 2D 条码类型。
环境准备
要在 C# 中实现 PDF 条码识别功能你需要以下工具
支持 NuGet 包的 C# 项目环境如 .NET Framework、.NET Core 或 .NET。安装两个核心组件Spire.Barcode for .NET用于条码识别和 Spire.PDF for .NET用于 PDF 处理。
Spire.PDF for .NET Spire.Barcode for .NET
加入Spire技术交流QQ群125237868与更多开发者一起提升文档开发技能。
通过 NuGet 安装命令如下
Install-Package Spire.Barcode
Install-Package Spire.PDF
如何在 C# 中读取 PDF 条码
下面将介绍两种方式从 PDF 中提取条码数据可根据 PDF 文件中条码的具体类型选择合适的方法。
方法一提取 PDF 图片并识别条码
适用于扫描类 PDF通常每一页都包含条码图像。可通过 BarcodeScanner.ScanOne() 方法读取单个图像中的一个条码。
示例代码
using Spire.Barcode;
using Spire.Pdf;
using Spire.Pdf.Utilities;
using System.Drawing;namespace ReadPDFBarcodeByExtracting
{class Program{static void Main(string[] args){// 载入PDF文件PdfDocument pdf new PdfDocument();pdf.LoadFromFile(Sample.pdf);// 获取页面图片信息PdfPageBase page pdf.Pages[0];PdfImageHelper imageHelper new PdfImageHelper();PdfImageInfo[] imagesInfo imageHelper.GetImagesInfo(page);// 遍历页面图片并读取条码信息int index 0;foreach (PdfImageInfo imageInfo in imagesInfo){Image image imageInfo.Image;string scanResult BarcodeScanner.ScanOne((Bitmap)image);Console.WriteLine($第 {index 1} 个图像的扫描结果\n scanResult \n);index;}}}
}
以下图像展示了 PDF 页面截图与条码识别结果 适用场景PDF 是扫描件或条码以图像形式嵌入时。
方法二保存 PDF 页面为图像并识别条码
当条码是通过矢量方式绘制在 PDF 页面上而非图片时可将页面渲染为图像再识别其中的条码。此时使用 BarcodeScanner.Scan() 方法可识别多个条码。
示例代码
using Spire.Barcode;
using Spire.Pdf;
using System.Drawing;namespace ReadPDFBarcodeByExtracting
{class Program{static void Main(string[] args){// 载入PDF文件PdfDocument pdf new PdfDocument();pdf.LoadFromFile(Sample.pdf);// 遍历文档页面并保存页面为图像for (int i 0; i pdf.Pages.Count; i){Image image pdf.SaveAsImage(i);// 扫描识别图像中的所有二维码信息string[] scanResults BarcodeScanner.Scan((Bitmap)image);for (int j 0; j scanResults.Length; j){Console.WriteLine($第 {i 1} 页第 {j 1} 个条码扫描结果\n scanResults[j] \n);}}}}
}
下面展示的是使用方法二识别 PDF 页面中矢量条码的效果 适用场景条码是以绘图形式嵌入页面而非图片。
如何根据应用场景选择方法
PDF 文件来源多为扫描件或在线系统生成条码既可能作为图像嵌入也可能直接绘制在页面中推荐根据实际情况灵活选择方法。建议在不确定文档结构时结合两种方法使用以提升识别成功率。
使用场景推荐方法扫描件或图像式条码提取嵌入图片并识别数字 PDF、矢量绘制条码渲染整页图像再识别混合内容或不确定结构可尝试结合两种方法使用 总结
通过本教程你可以使用 C# 从 PDF 中提取条码信息无论条码是图像嵌入还是矢量绘制两种方法都能为你提供稳定的识别结果。在数据自动化处理场景中这将大幅提升效率与准确性。
常见问题解答
问支持多页 PDF 吗 答支持。你可以循环处理 PDF 中的每一页逐页识别条码。
问能否识别每页多个条码 答可以。使用 BarcodeScanner.Scan() 方法可返回图像中所有检测到的条码。
问提高识别精度的方法有哪些 答渲染页面时可设置更高 DPI例如使用 SaveAsImage(int pageIndex, PdfImageType.Bitmap, int dpiX, int dpiY) 方法推荐 300 DPI 以上。