篇一:WPF常用知識以及本項目設計總結:http://www.cnblogs.com/baiboy/p/wpf.html
篇二:基於OneNote難點突破和批量識別:http://www.cnblogs.com/baiboy/p/wpf1.html
篇三:批量處理后的txt文件入庫處理:http://www.cnblogs.com/baiboy/p/wpf2.html
篇四:關於OneNote入庫處理以及審核:http://www.cnblogs.com/baiboy/p/wpf3.html
【小記】:大膽嘗試才能突破,某個中醫葯大學有一批圖片需要處理(ORC),然后進行數據挖掘。之前沒有接觸過ORC這個東西,但是還是應允了。在網上搜索一番,關於中文圖片識別,最終敲定為基於微軟的OneNote,其識別率相對較高。網上這個技術點的資料真心不多,后來於博客園找到一篇博文,但是那個程序還是bug百出,而且只是單處理。后來經過一番摸索逐個突破,批處理完成。然后進行界面設計,這些零碎工作完成后,便是入庫處理。由於OneNote生成的xml文件封裝好的,即不可視的。便將其代碼處理生成txt文件,再進行Oracle入庫處理。入庫前需要文件內容審核,並且在WPF開發中數據綁定和分頁中做了獨特處理。現在經過半個月的工作,本項目做個階段總結。一則知識總結便於二次開發,盡量保持程序流暢性,核心知識做以梳理;另外,相關WPF和OneNote常用技術共享,便於部分園友所需。本人技術有限,歡迎交流。項目還未結束,暫作階段文章發布,隨后相繼發布。
篇三:批量處理后的txt文件入庫處理
【開篇概述】:本文繼上述文章再做深度剖析,本篇主要介紹txt入庫(oracle)和wpf分頁,在此篇涉及的頁面設計前篇已經細述不再概說。里面涉及到oracle 64位系統安裝處理問題,以前oracle的表,序列,觸發器,自增種子等基本操作。外加文件操作和利用用戶控件分頁等技術。大致效果圖如下,其次粘貼完整代碼,其后就一一概說本文核心要點和難點突破,最后梳理技術知識點,使其一則保持完整性,二則梳理整理知識點便於隨時取用。(本篇暫做效果圖如下,至於最終效果圖和審核界面,待終篇。)
效果圖:
完整代碼:

namespace OnenoteOCRDemo { /// <summary> /// TextData.xaml 的交互邏輯 /// </summary> public partial class TextData : Window { public TextData() { InitializeComponent(); this.Loaded += new RoutedEventHandler(MainWindow_Loaded); } void MainWindow_Loaded(object sender, RoutedEventArgs e) { this.Loaded += delegate { InitData(); }; dataGrid1.LoadingRow += new EventHandler<DataGridRowEventArgs>(dataGrid1_LoadingRow); } void dataGrid1_LoadingRow(object sender, DataGridRowEventArgs e) { e.Row.Header = e.Row.GetIndex() + 1; //設置行表頭的內容值 } //查詢 private void InitData() { string sql = "select * from T_TCM_THESIS order by ID desc"; DataSet ds = MYHelper.SQLHelper.GetOrlData(sql); if (ds.Tables[0].Rows.Count > 0) { page1.ShowPages(this.dataGrid1, ds, 10); } else { System.Windows.Forms.MessageBox.Show("Erroy"); } } private void Window_Loaded(object sender, RoutedEventArgs e) { InitData(); } //批量刪除 List<int> selectFID = new List<int>(); private void CheckBox_Click(object sender, RoutedEventArgs e) { System.Windows.Controls.CheckBox dg = sender as System.Windows.Controls.CheckBox; int FID = int.Parse(dg.Tag.ToString()); //獲取該行的FID var bl = dg.IsChecked; if (bl == true) { selectFID.Add(FID); //如果選中就保存FID } else { selectFID.Remove(FID); //如果選中取消就刪除里面的FID } } private void btnDelete_Click(object sender, RoutedEventArgs e) { foreach (int FID in selectFID) { string sql = "delete T_TCM_THESIS where id=" + FID; int i = SQLHelper.OrlExecuteQuery(sql); if (i > 0) { System.Windows.Forms.MessageBox.Show("success!!!"); } else { System.Windows.Forms.MessageBox.Show("Erroy!!!"); } InitData(); } } public void TextIsNull() { txtdocname.Text = ""; txtyears.Text = ""; txtdoctype.Text = ""; txtsummary.Text = ""; txtauthor.Text = ""; txtsource.Text = ""; txtsourcetype.Text = ""; txtmemo.Text = ""; txttitle.Text = ""; txtenglishtitle.Text = ""; txtcompany.Text = ""; txtkeyword.Text = ""; txtcontent.Text = ""; txtdigest.Text = ""; txtpath.Text = ""; txtdisease.Text = ""; } private void btnAdd_Click(object sender, RoutedEventArgs e) { string docname = txtdocname.Text.ToString(); string years = txtyears.Text.ToString(); string doctype = txtdoctype.Text.ToString(); string summary = txtsummary.Text.ToString(); string author = txtauthor.Text.ToString(); string source = txtsource.Text.ToString(); string sourcetype = txtsourcetype.Text.ToString(); string memo = txtmemo.Text.ToString(); string title = txttitle.Text.ToString(); string englishtitle = txtenglishtitle.Text.ToString(); string authorcompany = txtcompany.Text.ToString(); string keyword = txtkeyword.Text.ToString(); string content = txtcontent.Text.ToString().Trim(); string digest = txtdigest.Text.ToString(); string path = txtpath.Text.ToString(); string disease = txtdisease.Text.ToString(); int auditflag = 1; try { string sql = "INSERT INTO T_TCM_THESIS(docname,years,doctype,summary,author,source,sourcetype,memo,title,englishtitle,"; sql += "authorcompany,keyword,content,digest,path,disease,auditflag) Values('" + docname + "','" + years + "','" + doctype + "','" + summary + "',"; sql += "'" + author + "','" + source + "','" + sourcetype + "','" + memo + "','" + title + "','" + englishtitle + "','" + authorcompany + "','" + keyword + "',"; sql += "'" + content + "