C#通过Spire.OCR读取图片文字

本文这里是通过WinForm实现的测试效果
1、首先创建一个winform窗体程序,然后将其属性修改为【×64】,【Spire.OCR】只支持【×64】,所以这一步不能少
在这里插入图片描述
2、通过管理Nuget包添加引用
在这里插入图片描述
3、安装完成后将包中dll复制到项目bin文件夹下
在这里插入图片描述
在这里插入图片描述
4、最后在代码中实现选择图片并提取文字效果

		/// <summary>
        /// 图片文字提取
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_PicWordsExtract_Click(object sender, EventArgs e)
        {
            try
            {
                //选择图片
                OpenFileDialog fileDialog = new OpenFileDialog();
                fileDialog.Multiselect = false;
                fileDialog.DefaultExt = "*.jpg";
                fileDialog.Filter = "图片|*.jpg";
                if (fileDialog.ShowDialog() == DialogResult.OK)
                {
                    if (fileDialog.FileNames != null && fileDialog.FileNames.Any())
                    {
                        foreach (var file in fileDialog.FileNames)
                        {
                            Spire.OCR.OcrScanner ocr = new Spire.OCR.OcrScanner();
                            //将图片地址添加到OCR程序并运行
                            ocr.Scan(file);
                            //读取图片文字
                            string text = ocr.Text.ToString();
                            if (!string.IsNullOrWhiteSpace(text))
                            {
                                //由于版本问题所以提取出的文字后会附加上【Evaluation Warning : The version can be used only for evaluation purpose...】
                                //我这里实际上只是学习测试使用,所以并不在乎版本水印问题,也就没有特地去找免费版的DLL,所以只需要替换掉这句话,那么对我来说效果就已经实现了
                                //当然在实际项目当中使用的话个人建议还是不要参照我这个处理方式,还是选择购买正版或者找下那种免费的DLL在使用最好
                                text = text.Replace("Evaluation Warning : The version can be used only for evaluation purpose...", "");
                                //将读取结果赋值
                                txt_WordsExtract.Text = text;
                                //保存扫描获取的文字为.txt文档
                                System.IO.File.WriteAllText("C:\\Users\\Administrator\\Desktop\\新建文本文档.txt", text);
                                System.Diagnostics.Process.Start("C:\\Users\\Administrator\\Desktop\\新建文本文档.txt");
                            }
                            else
                            {
                                txt_WordsExtract.Text = "读取失败";
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                txt_WordsExtract.Text = "读取失败:" + ex.Message;
            }
        }

5、运行结果
待提取文字图片如下:
在这里插入图片描述
提取结果如下:
在这里插入图片描述
在这里插入图片描述

目前来说提取文字效果以达成,不过提取后一些特殊的标点符号,还是会出现错误或未提取出来的情况。

个人记录,不喜勿喷

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值