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