private void Panel_Click(object sender, EventArgs e) { DataObj.DocumentPages documentPage = (DataObj.DocumentPages)((Panel)sender).Tag; ((Home)this.Tag).Navigate(new pages.YearbookView(documentPage.ParentDocument, documentPage.Page)); }
private void btnStartReading_Click(object sender, EventArgs e) { int fileCount = 1; foreach (TreeNode tn in treeView2.Nodes) { int pageNo = 1; DataObj.Document doc = new DataObj.Document(); List <DataObj.DocumentPages> documentPages = new List <DataObj.DocumentPages>(); txtReadLog.AppendText("Creating document " + tn.Text + Environment.NewLine); string[] textFiles = Directory.GetFiles(tn.Tag.ToString(), "*.txt"); doc.Id = LiteDB.ObjectId.NewObjectId(); doc.DocumentTitle = tn.Text; doc.FolderDescription = ""; foreach (string textFile in textFiles) { doc.FolderDescription += File.ReadAllText(textFile) + Environment.NewLine; } doc.DocumentFolderPath = tn.Tag.ToString(); foreach (TreeNode tn1 in tn.Nodes) { txtReadLog.AppendText("\t Reading page " + pageNo.ToString() + Environment.NewLine); Bitmap documentImage = new Bitmap(Image.FromFile(tn1.Tag.ToString())); Page page; string content = ""; using (TesseractEngine ocr = new TesseractEngine("./tessdata", "eng", EngineMode.TesseractAndCube)) { page = ocr.Process(documentImage); content = page.GetText(); } Regex nonAlphaNumeric = new Regex("[^a-zA-Z0-9]"); DataObj.DocumentPages documentPage = new DataObj.DocumentPages() { DocFilename = tn1.Text, DocPath = tn1.Tag.ToString(), Content = content, ThumbImg = DataObj.DocumentPages.ConvertImageToByte(new Bitmap(documentImage), DataObj.DocumentPages.ImageResize(documentImage.Size, true, 200)), Page = pageNo, ImageId = String.Format("$/{0}/img{1}{2}", doc.Id, pageNo, nonAlphaNumeric.Replace(tn1.Text.Replace(".jpg", ""), "")), ParentDocument = doc.Id, DateAdded = DateTime.Now, DateEdited = DateTime.Now }; if (DataObj.DocumentFileHandler.AddNewImageDocument(new DataObj.DocumentFileHandler() { Id = documentPage.ImageId, FileName = documentPage.DocFilename, ImageBmp = new Bitmap(documentImage) })) { if (DataObj.DocumentPages.InsertUpdateDocument(documentPage)) { documentPages.Add(documentPage); pageNo++; } } fileCount++; } doc.TotalPages = pageNo; doc.DocPages = documentPages; if (DataObj.Document.InsertUpdateDocument(doc)) { txtReadLog.AppendText("Document " + tn.Text.ToString() + " added with " + doc.TotalPages + " total pages" + Environment.NewLine); } } label6.Text = fileCount.ToString(); }