public GetHyperLinkToObject ( string objectId ) : string | ||
objectId | string | |
return | string |
/// <summary> /// Create the error page for the section, which contains all the errors occurred during the conversion /// </summary> /// <param name="onGenerator"></param> /// <param name="sectionId"></param> /// <param name="errorList"></param> protected void CreateErrorPage(OneNoteGenerator onGenerator, string sectionId, IEnumerable<IDictionary<InfoType, string>> errorList) { var pageId = onGenerator.CreatePage(ErrorPageTitle, sectionId); var pageContent = String.Empty; foreach (var error in errorList) { var hyperLink = onGenerator.GetHyperLinkToObject(error[InfoType.Id]); pageContent += string.Format("<a href=\"{0}\">{1} : \n{2}</a>", hyperLink, error[InfoType.Title], error[InfoType.Message]) + "\n\n"; } onGenerator.AddPageContent(pageId, pageContent); }
/// <summary> /// Converts the ePub document input file into OneNote /// </summary> /// <param name="inputFile"></param> /// <param name="outputDir"></param> /// <returns></returns> public virtual bool ConvertEpubToOneNote(string inputFile, string outputDir) { try { // Initialize epub reader class var epub = new EpubReader(inputFile, outputDir); // Get the page contents List<string> pageTitles = epub.GetPageTitles(); List<HtmlDocument> pagesHtml = epub.GetPagesAsHtmlDocuments(); List<string> pagePaths = epub.GetPagePaths(); Dictionary<string, int> pagesLevel = epub.GetPagesLevel(); // Create a new OneNote Notebook var note = new OneNoteGenerator(outputDir); string notebookId = note.CreateNotebook(GetSupportedInputFormat()); string sectionId = note.CreateSection(epub.GetTitle(), notebookId); // Create pages var pageIds = pageTitles.Select(pageTitle => note.CreatePage(pageTitle, sectionId)).ToArray(); // Get links to pages var pageLinks = pageIds.Select(pageId => note.GetHyperLinkToObject(pageId)).ToList(); // Replace links to .html with .one ReplaceEpubLinksFromHtmlToOneNote(pagesHtml, pagePaths, pageLinks); // Add content to pages for (var i = 0; i < pageIds.Length; i++) { note.AppendPageContentAsHtmlBlock(pageIds[i], pagesHtml[i].DocumentNode.OuterHtml); if (pagesLevel.ContainsKey(pagePaths[i])) { note.SetPageLevel(pageIds[i], pagesLevel[pagePaths[i]]); } } return true; } catch (Exception e) { Console.WriteLine(@"Error in ConvertEpubToOneNote for file {0}: {1}", inputFile, e.Message); return false; } }