轉(zhuǎn)帖|使用教程|編輯:龔雪|2015-05-26 09:31:14.000|閱讀 497 次
概述:本教程主要為大家展示如何在OCR文檔上追加/刪除頁面。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
根據(jù)下面的步驟來創(chuàng)建和運(yùn)行一個(gè)程序用來展示如何在OCR文檔上追加/刪除頁面。
1. 打開Visual Studio。
2. 在菜單中選擇文件->新建->項(xiàng)目。
3. 在新建項(xiàng)目對(duì)話框中,模板選擇"Visual C#",然后選擇Windows窗體應(yīng)用程序。
4. 在名稱欄輸入這個(gè)項(xiàng)目的名稱:"OcrTutorial2",然后選擇確定 ,當(dāng)然如果需要的話可以重新指定一個(gè)目錄來存放這個(gè)項(xiàng)目。
5. 在"解決方案資源管理器"窗口,右鍵點(diǎn)擊"引用",然后在彈出菜單中選擇"添加引用"。在彈出的引用管理器對(duì)話框中,選擇"框架"然后選擇"瀏覽(B)"按鈕,定位到LEADTOOLS安裝目錄:
"<安裝目錄>\Bin\DotNet4\Win32" 然后選擇如下幾個(gè)DLL:
注意:Leadtools.Codecs.*.dll這種引用是根據(jù)支持的圖像格式命名的,例如BMP、TIF、FAX、JPG等,請(qǐng)根據(jù)您的需要添加不同的格式支持。
6. 在WinForm的設(shè)計(jì)器畫面中,向Form1窗體中拖拽5個(gè)Button,然后將這5個(gè)按鈕的名字分別命名為:
7. 在設(shè)計(jì)器中,從工具箱拖拽一個(gè)LEADTOOLS的ImageViewer控件到Form1上。
8. 切換到Form1的代碼視圖,然后添加如下代碼到文件的最前面,如果已經(jīng)有了using代碼的話請(qǐng)?zhí)砑拥揭延写a后:
using Leadtools; using Leadtools.Codecs; using Leadtools.Forms; using Leadtools.Forms.Ocr; using Leadtools.Forms.Processing; using Leadtools.ImageProcessing;
9. 在Form1的構(gòu)造函數(shù)中添加如下代碼:
// 請(qǐng)將這兩個(gè)字段替換為你得到的License文件路徑和Developer Key string licenseFilePath = @"你的License文件路徑"; string developerKey = "你的DeveloperKey"; RasterSupport.SetLicense(licenseFilePath, developerKey);
10. 在Form1類中添加如下的私有變量:
private IOcrDocument _ocrDocument; private IOcrEngine _ocrEngine;
11. 在Button1(啟動(dòng))的Click事件中添加如下代碼:
private void button1_Click(object sender, EventArgs e) { // 初始化OCR引擎 _ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, false); // 啟動(dòng)引擎 _ocrEngine.Startup(null, null, null, @"D:\Program Files\LEADTOOLS 19\Bin\Common\OcrAdvantageRuntime"); // 追加識(shí)別語言 _ocrEngine.LanguageManager.EnableLanguages(new string[] {"zh-Hans" }); // 創(chuàng)建文檔 _ocrDocument = _ocrEngine.DocumentManager.CreateDocument(); MessageBox.Show("OCR引擎創(chuàng)建啟動(dòng)成功,文檔創(chuàng)建完畢。"); }
12. 在Button2(追加頁面)的Click事件中添加如下代碼:
private void button2_Click(object sender, EventArgs e) { // 從硬盤上選擇一個(gè)圖片文件,例如 @"C:\Users\Public\Documents\LEADTOOLS Images\Ocr1.tif"; string fileName = null; using (OpenFileDialog dlg = new OpenFileDialog()) { if (dlg.ShowDialog(this) == DialogResult.OK) fileName = dlg.FileName; } if (fileName == null) return; // 從圖片中將第一頁加入到創(chuàng)建的OCR文檔中 IOcrPage page = _ocrDocument.Pages.AddPage(fileName, null); // 在ImageViewer中顯示圖片 this.imageViewer1.Image = page.GetRasterImage(); int pageCount = _ocrDocument.Pages.Count; // 顯示這一頁的信息 string message = string.Format( "頁數(shù)合計(jì)為{0}\n最后一頁大小 = {1} X {2}\n分辨率 = {3} X {4}\n位每像素 = {5}", pageCount, page.Width, page.Height, page.DpiX, page.DpiY, page.BitsPerPixel); MessageBox.Show(message); }
13. 在Button3(移除頁面)的Click事件中添加如下代碼:
private void button3_Click(object sender, EventArgs e) { // 從文檔中移除所有添加的頁面 _ocrDocument.Pages.Clear(); MessageBox.Show("所有頁面都被移除。"); }
14. 在Button4(反轉(zhuǎn)頁面)的Click事件中添加如下代碼:
private void button4_Click(object sender, EventArgs e) { // 如果一頁都沒有,返回 if (_ocrDocument.Pages.Count < 1) return; // 取得最后一頁 IOcrPage page = _ocrDocument.Pages[_ocrDocument.Pages.Count - 1]; // 轉(zhuǎn)化為RasterImage using (RasterImage image = page.GetRasterImage()) { // 將頁面進(jìn)行垂直反轉(zhuǎn) FlipCommand cmd = new FlipCommand(false); cmd.Run(image); // 得到的圖像為拷貝對(duì)象,所以需要更新原有頁面 page.SetRasterImage(image); // 在ImageViewer中顯示圖片 this.imageViewer1.Image = page.GetRasterImage(); MessageBox.Show("最后一頁已經(jīng)反轉(zhuǎn)"); } }
15. 在Button5(停止)的Click事件中添加如下代碼:
private void button5_Click(object sender, EventArgs e) { // 釋放文檔 _ocrDocument.Dispose(); // 釋放引擎 _ocrEngine.Dispose(); MessageBox.Show("OCR引擎和文檔都已被釋放。"); }
16. 編譯并運(yùn)行。
慧都產(chǎn)品購買,詳情請(qǐng)咨詢""!
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@ke049m.cn
文章轉(zhuǎn)載自:慧都控件網(wǎng)