Работа с закладками

  1. Добавьте SautinSoft.Document из Nuget.
  2. Создайте новый документ.
  3. Добавьте текст, ограниченный BookmarkStart и BookmarkEnd.
  4. Измените текст внутри закладки.
  5. Сохраните документ в формате DOCX.

Закладки используются для обозначения местоположения в документе. Вы можете перейти к этой отметке с помощью гиперссылки.

Давайте посмотрим на примере, как использовать закладки:

Полный код

using SautinSoft.Document;

namespace Sample
{
    class Sample
    {
        static void Main(string[] args)
        {
            // Get your free 100-day key here:   
            // https://sautinsoft.com/start-for-free/

            AddBookmarks();
        }
        
		/// <summary>
        /// How add a text bounded by BookmarkStart and BookmarkEnd. 
        /// </summary>
        /// <remarks>
        /// Details: https://sautinsoft.com/products/document/help/net/developer-guide/bookmarks.php
        /// </remarks>		
        public static void AddBookmarks()
        {
            // P.S. If you are using MS Word, to display bookmarks:
            // File -> Options -> Advanced -> On the "Show document content" check "Show bookmarks".
            string documentPath = @"Bookmarks.docx";

            // Let's create a new document.
            DocumentCore dc = new DocumentCore();

            // Add text bounded by BookmarkStart and BookmarkEnd.
            dc.Sections.Add(
            new Section(dc,
                new Paragraph(dc,
                    new Run(dc, "Text before bookmark. "),
                    new BookmarkStart(dc, "SimpleBookmark"),
                    new Run(dc, "Text inside bookmark."),
                    new BookmarkEnd(dc, "SimpleBookmark"),
                    new Run(dc, " Text after bookmark.")),
                new Paragraph(dc,
                    new SpecialCharacter(dc, SpecialCharacterType.PageBreak),
                    new Hyperlink(dc, "SimpleBookmark", "Go to Simple Bookmark.") { IsBookmarkLink = true })));

            // Modify text inside bookmark.
            dc.Bookmarks["SimpleBookmark"].GetContent(false).Replace("Some text inside bookmark.");

            // Let's save our document into DOCX format.
            dc.Save(documentPath);

            // Open the result for demonstration purposes.
            System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(documentPath) { UseShellExecute = true });
        }
    }
}

Download

Imports SautinSoft.Document

Namespace Sample
    Friend Class Sample
        Shared Sub Main(ByVal args() As String)
            AddBookmarks()
        End Sub
        ''' Get your free 100-day key here:   
        ''' https://sautinsoft.com/start-for-free/
        ''' <summary>
        ''' How add a text bounded by BookmarkStart and BookmarkEnd. 
        ''' </summary>
        ''' <remarks>
        ''' Details: https://sautinsoft.com/products/document/help/net/developer-guide/bookmarks.php
        ''' </remarks>		
        Public Shared Sub AddBookmarks()
            ' P.S. If you are using MS Word, to display bookmarks:
            ' File -> Options -> Advanced -> On the "Show document content" check "Show bookmarks".
            Dim documentPath As String = "Bookmarks.docx"

            ' Let's create a new document.
            Dim dc As New DocumentCore()

            ' Add text bounded by BookmarkStart and BookmarkEnd.
            dc.Sections.Add(New Section(dc, New Paragraph(dc, New Run(dc, "Text before bookmark. "), New BookmarkStart(dc, "SimpleBookmark"), New Run(dc, "Text inside bookmark."), New BookmarkEnd(dc, "SimpleBookmark"), New Run(dc, " Text after bookmark.")), New Paragraph(dc, New SpecialCharacter(dc, SpecialCharacterType.PageBreak), New Hyperlink(dc, "SimpleBookmark", "Go to Simple Bookmark.") With {.IsBookmarkLink = True})))

            ' Modify text inside bookmark.
            dc.Bookmarks("SimpleBookmark").GetContent(False).Replace("Some text inside bookmark.")

            ' Let's save our document into DOCX format.
            dc.Save(documentPath)

            ' Open the result for demonstration purposes.
            System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(documentPath) With {.UseShellExecute = True})
        End Sub
    End Class
End Namespace

Download


Если вам нужен пример кода или у вас есть вопрос: напишите нам по адресу support@sautinsoft.com или спросите в онлайн-чате (правый нижний угол этой страницы) или используйте форму ниже:



Вопросы и предложения всегда приветствуются!

Мы разрабатываем компоненты .Net с 2002 года. Мы знаем форматы PDF, DOCX, RTF, HTML, XLSX и Images. Если вам нужна помощь в создании, изменении или преобразовании документов в различных форматах, мы можем вам помочь. Мы напишем для вас любой пример кода абсолютно бесплатно.