首页 > 其他 > 详细

如何把online OCR的结果转换成word文档

时间:2015-02-12 10:54:49      阅读:359      评论:0      收藏:0      [点我收藏+]

要把string保存到word文档里,最简单的方法就是用Open XML SDK。这里分享下如何结合Dynamic .NET TWAIN OCR SDK和Open XML SDK,把online OCR的结果转换成word文档。

技术分享

参考原文:

Online OCR – Convert Images to Word, Text and PDF

下载

如何集成Open XML SDK到Online OCR应用

这里使用的OpenXML SDK 2.5是从NuGet获得的,官方下载可以访问Open XML SDK 2.5 for Microsoft Office

添加Open XML引用:

技术分享

打开,DoOCR.aspx.cs找到代码:

byte
[] content = OCRMode.OCR(inputBuffer, strLanguage, Convert.ToInt32(strFormat));


结果是byte array,把它转换成string:

System.Text.Encoding.ASCII.GetString(content)


创建函数SaveToWord,传入文件路径和OCR结果:

private void SaveToWord(string filepath, string ocrResult)
        {
            using (WordprocessingDocument doc = WordprocessingDocument.Create(filepath, DocumentFormat.OpenXml.WordprocessingDocumentType.Document))
            {
                MainDocumentPart mainPart = doc.AddMainDocumentPart();
                mainPart.Document = new Document();
                Body body = mainPart.Document.AppendChild(new Body());
                Paragraph para = body.AppendChild(new Paragraph());
                Run run = para.AppendChild(new Run());
 
                string returnValue = FilterInvalidXmlChars(ocrResult);
                run.AppendChild(new Text(returnValue));
            }
        }

这样OCR结果就可以保存到word文档里了。要注意的是,结果里可能包含了无效的XML字符,所以还需要对结果做过滤处理:

public static string FilterInvalidXmlChars(string text)
        {
            // answer from http://stackoverflow.com/questions/397250/unicode-regex-invalid-xml-characters/961504#961504
            string re = @"(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x9F\uFEFF\uFFFE\uFFFF]";
            return Regex.Replace(text, re, "");
        }

看下视频demo:
 


更多信息可以参考Word processing (Open XML SDK)

源码

https://github.com/DynamsoftRD/online-ocr

git clone https://github.com/DynamsoftRD/online-ocr.git


如何把online OCR的结果转换成word文档

原文:http://my.oschina.net/yushulx/blog/377894

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!