Esempio n. 1
0
        public void ReplaceBookmark(BookmarkData bookmarkData)
        {
            var bookmarks = GetAllBookmarks(_document);

            if (bookmarks.ContainsKey(bookmarkData.BookmarkName))
            {
                foreach (var bookmark in bookmarks[bookmarkData.BookmarkName])
                {
                    DeleteBookmarkContent(bookmark);

                    if (bookmarkData.Element is RichText)
                    {
                        bookmarkData.Element.InsertAfter(bookmark.Parent, _document.MainDocumentPart);
                        // Richtext already includes style information (converted from html), no need to add it

                        // Bookmarks are included in Paragraphs
                        // But paragraphs included in paragraphs are not allowed
                        // Thats why we delete the whole paragraph after inserting our new ones
                        bookmark.Parent.Remove();
                    }
                    else
                    {
                        bookmarkData.Element.InsertAfter(bookmark, _document.MainDocumentPart);
                        if (!string.IsNullOrEmpty(bookmarkData.StyleName))
                        {
                            var styleId = GetStyleIdbyName(_document.MainDocumentPart, bookmarkData.StyleName);
                            if (!string.IsNullOrEmpty(styleId))
                            {
                                ((Paragraph)bookmark.Parent).ParagraphProperties =
                                    new ParagraphProperties(new ParagraphStyleId()
                                {
                                    Val = styleId
                                });
                            }
                        }
                    }
                }
            }
            else
            {
                Trace.TraceWarning("Bookmark {0} not found", bookmarkData.BookmarkName);
            }
        }
        public void ReplaceBookmark(BookmarkData bookmarkData)
        {
            var bookmarks = GetAllBookmarks(_document);
            if (bookmarks.ContainsKey(bookmarkData.BookmarkName))
            {
                foreach (var bookmark in bookmarks[bookmarkData.BookmarkName])
                {
                    DeleteBookmarkContent(bookmark);

                    if (bookmarkData.Element is RichText)
                    {
                        bookmarkData.Element.InsertAfter(bookmark.Parent, _document.MainDocumentPart);
                        // Richtext already includes style information (converted from html), no need to add it

                        // Bookmarks are included in Paragraphs
                        // But paragraphs included in paragraphs are not allowed
                        // Thats why we delete the whole paragraph after inserting our new ones
                        bookmark.Parent.Remove();
                    }
                    else
                    {
                        bookmarkData.Element.InsertAfter(bookmark, _document.MainDocumentPart);
                        if (!string.IsNullOrEmpty(bookmarkData.StyleName))
                        {
                            var styleId = GetStyleIdbyName(_document.MainDocumentPart, bookmarkData.StyleName);
                            if (!string.IsNullOrEmpty(styleId))
                            {
                                ((Paragraph)bookmark.Parent).ParagraphProperties =
                                    new ParagraphProperties(new ParagraphStyleId() { Val = styleId });
                            }
                        }
                    }
                }
            }
            else
            {
                Trace.TraceWarning("Bookmark {0} not found", bookmarkData.BookmarkName);
            }
        }
 public void ReplaceBookmark(BookmarkData bookmarkData)
 {
     _bookmarkReplacer.ReplaceBookmark(bookmarkData);
 }
Esempio n. 4
0
 public void ReplaceBookmark(BookmarkData bookmarkData)
 {
     _bookmarkReplacer.ReplaceBookmark(bookmarkData);
 }