diff --git a/Bookmarks/Add-bookmarks-to-all-paragraphs-and-retrieve-contents/.NET/Add-bookmarks-to-all-paragraphs-and-retrieve-contents/Data/Input.docx b/Bookmarks/Add-bookmarks-to-all-paragraphs-and-retrieve-contents/.NET/Add-bookmarks-to-all-paragraphs-and-retrieve-contents/Data/Input.docx index 61047e1b..d3b29da2 100644 Binary files a/Bookmarks/Add-bookmarks-to-all-paragraphs-and-retrieve-contents/.NET/Add-bookmarks-to-all-paragraphs-and-retrieve-contents/Data/Input.docx and b/Bookmarks/Add-bookmarks-to-all-paragraphs-and-retrieve-contents/.NET/Add-bookmarks-to-all-paragraphs-and-retrieve-contents/Data/Input.docx differ diff --git a/Bookmarks/Add-bookmarks-to-all-paragraphs-and-retrieve-contents/.NET/Add-bookmarks-to-all-paragraphs-and-retrieve-contents/Program.cs b/Bookmarks/Add-bookmarks-to-all-paragraphs-and-retrieve-contents/.NET/Add-bookmarks-to-all-paragraphs-and-retrieve-contents/Program.cs index 8ceb3b2c..8b36614a 100644 --- a/Bookmarks/Add-bookmarks-to-all-paragraphs-and-retrieve-contents/.NET/Add-bookmarks-to-all-paragraphs-and-retrieve-contents/Program.cs +++ b/Bookmarks/Add-bookmarks-to-all-paragraphs-and-retrieve-contents/.NET/Add-bookmarks-to-all-paragraphs-and-retrieve-contents/Program.cs @@ -23,27 +23,23 @@ public static void Main(string[] args) currentPara.ChildEntities.Insert(0, new BookmarkStart(document, bookmarkName)); // Insert a bookmark end at the end of the paragraph currentPara.AppendBookmarkEnd(bookmarkName); + // Print the bookmark name and the paragraph text to the console + Console.WriteLine("Corresponding Bookmark : " + bookmarkName); + Console.WriteLine("Content : " + currentPara.Text + "\n"); } } - // Retrieve the contents of all bookmarks in the document - Dictionary bookmarkContents = GetBookmarkContents(document); - // Print each bookmark name and its corresponding content - foreach (string bkmkName in bookmarkContents.Keys) - { - Console.WriteLine("Corresponding Bookmark : " + bkmkName); - Console.WriteLine("Content : " + bookmarkContents[bkmkName]); - } + // Save each bookmarked paragraph as a separate document + SaveBookmarksAsSeparateDocuments(document); + // Close the Word document + document.Close(); Console.ReadLine(); } /// - /// Retrieves all bookmark contents from the document. + /// Saves the content of each bookmark in the given Word document as a separate Word document file. /// /// The Word document containing bookmarks. - /// A dictionary with bookmark names as keys and their text content as values. - private static Dictionary GetBookmarkContents(WordDocument document) + private static void SaveBookmarksAsSeparateDocuments(WordDocument document) { - // Create a dictionary to store bookmark names and their contents - Dictionary bookmarkContents = new Dictionary(); int paragraphCount = 0; // Iterate through each bookmark foreach (Bookmark currentBookmark in document.Bookmarks) @@ -53,16 +49,12 @@ private static Dictionary GetBookmarkContents(WordDocument docum bookmarkNavigator.MoveToBookmark(currentBookmark.Name); // Extract the content inside the bookmark as a temporary Word document WordDocument tempDoc = bookmarkNavigator.GetContent().GetAsWordDocument(); - // Get the text content and add it to the dictionary - bookmarkContents.Add(currentBookmark.Name, tempDoc.GetText()); // Save the Word document. tempDoc.Save(Path.GetFullPath("../../../Output/Output_" + paragraphCount + ".docx")); // Close the temporary document. tempDoc.Close(); paragraphCount++; } - // Return the dictionary containing all bookmark contents - return bookmarkContents; } } }