从PDF提取图像并识别条形码

Contents
[ ]

根据Aspose.PDF for .NET的文档对象模型,一个PDF文件包含一个或多个页面,每个页面包含图像、表单和字体在资源对象中的集合。 根据 Aspose.PDF for .NET 的文档对象模型,一个 PDF 文件包含一个或多个页面,每个页面包含图像、表单和字体的资源对象集合。

C#

//打开文档
Aspose.PDF.Document pdfDocument = new Aspose.PDF.Document("source.pdf");

// 遍历 PDF 文件的各个页面
for (int pageCount = 1; pageCount <= pdfDocument.Pages.Count; pageCount++)
{
    // 遍历从 PDF 页面提取的每个图像
    foreach (XImage xImage in pdfDocument.Pages[pageCount].Resources.Images)
    {
        using (MemoryStream imageStream = new MemoryStream())
        {
            //保存输出图像
            xImage.Save(imageStream, System.Drawing.Imaging.ImageFormat.Jpeg);
   
            // 将流位置设置到流的开始
            imageStream.Position = 0;
   
            // 实例化 BarCodeReader 对象
            Aspose.BarCodeRecognition.BarCodeReader barcodeReader = new Aspose.BarCodeRecognition.BarCodeReader(imageStream, Aspose.BarCodeRecognition.BarCodeReadType.Code39Extended);
   
            while (barcodeReader.Read())
            {
                // 从条形码图像获取条形码文本
                string code = barcodeReader.GetCodeText();
   
                // 将条形码文本写入控制台输出
                Console.WriteLine("BARCODE : " + code);
            }
   
            // 关闭 BarCodeReader 对象以释放图像文件
            barcodeReader.Close();
        }
    }
}

有关本文所涵盖主题的更多详细信息,请访问以下链接: