static List<string> readNote() { var onenoteApp = new Application(); string notebookXml; onenoteApp.GetHierarchy(null, HierarchyScope.hsPages, out notebookXml); var doc = XDocument.Parse(notebookXml); var ns = doc.Root.Name.Namespace; var notebookNode = doc.Descendants(ns + "Page").Where(n => n.Attribute("name").Value == Globals.oneNoteName).FirstOrDefault(); string pageXml; onenoteApp.GetPageContent(notebookNode.Attribute("ID").Value, out pageXml); var parsedXML = XDocument.Parse(pageXml); List<string> slideTextList = new List<string>(); string textData; for (int i = 0; i < Globals.imageCount; i++) { ///XElement OCRTXML = parsedXML.Descendants(ns + "OCRText").FirstOrDefault(); XElement OCRTXML = parsedXML.Descendants(ns + "Image").ElementAt(i).Descendants(ns + "OCRData").FirstOrDefault(); if (OCRTXML != null) { textData = OCRTXML.Value; } else { textData = "No text detected"; } slideTextList.Add(Globals.imageNames.ElementAt(i) +": "+ textData); } return slideTextList; }
static void cleanAllUp(string a) { var onenoteApp = new Application(); string notebookXml; onenoteApp.GetHierarchy(null, HierarchyScope.hsPages, out notebookXml); var doc = XDocument.Parse(notebookXml); var ns = doc.Root.Name.Namespace; var pageNode = doc.Descendants(ns + "Page").Where(n => n.Attribute("name").Value == "OCRImages").FirstOrDefault(); var existingPageId = pageNode.Attribute("ID").Value; pageNode.RemoveAll(); }
static void writeNote() { string strNamespace = "http://schemas.microsoft.com/office/onenote/2010/onenote"; string m_xmlImageContent = "<one:Image><one:Size width=\"{1}\" height=\"{2}\" isSetByUser=\"true\" /><one:Data>{0}</one:Data></one:Image>"; string m_xmlNewOutline = "<?xml version=\"1.0\"?><one:Page xmlns:one=\"{2}\" ID=\"{1}\"><one:Title><one:OE><one:T><![CDATA[{3}]]></one:T></one:OE></one:Title>{0}</one:Page>"; string pageName = Globals.oneNoteName; var onenoteApp = new Application(); string notebookXml; onenoteApp.GetHierarchy(null, HierarchyScope.hsPages, out notebookXml); var doc = XDocument.Parse(notebookXml); var ns = doc.Root.Name.Namespace; var pageNode = doc.Descendants(ns + "Page").Where(n => n.Attribute("name").Value == Globals.oneNoteName).FirstOrDefault(); var existingPageId = pageNode.Attribute("ID").Value; if (pageNode != null) { string[] fileEntries = Directory.GetFiles(Globals.imgDirPath); foreach (string fileName in fileEntries) { Bitmap bitmap = new Bitmap(fileName); MemoryStream stream = new MemoryStream(); bitmap.Save(stream, ImageFormat.Jpeg); string fileString = Convert.ToBase64String(stream.ToArray()); string imageXmlStr = string.Format(m_xmlImageContent, fileString, bitmap.Width / 10, bitmap.Height / 10); string pageChangesXml = string.Format(m_xmlNewOutline, new object[] { imageXmlStr, existingPageId, strNamespace, pageName }); onenoteApp.UpdatePageContent(pageChangesXml.ToString(), DateTime.MinValue); Globals.imageNames.Add(fileName); Globals.imageCount++; } } else { Console.WriteLine(pageName + " Notebook not found."); Environment.Exit(-1); } }