当前位置:   article > 正文

C#通过Spire.OCR读取图片文字_c#图片文字提取代码

c#图片文字提取代码

本文这里是通过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;
            }
        }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50

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

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

个人记录,不喜勿喷

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/368773?site
推荐阅读
相关标签
  

闽ICP备14008679号