DocumentBuilder.StartBookmark method

Marks the current position in the document as a bookmark start.

public BookmarkStart StartBookmark(string bookmarkName)
bookmarkNameStringName of the bookmark.

Return Value

The bookmark start node that was just created.


Bookmarks in a document can overlap and span any range. To create a valid bookmark you need to call both StartBookmark and EndBookmark with the same bookmarkName parameter.

Badly formed bookmarks or bookmarks with duplicate names will be ignored when the document is saved.


Shows how create a bookmark.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// A valid bookmark needs to have document body text enclosed by
// BookmarkStart and BookmarkEnd nodes created with a matching bookmark name.
builder.Writeln("Hello world!");

Assert.AreEqual(1, doc.Range.Bookmarks.Count);
Assert.AreEqual("MyBookmark", doc.Range.Bookmarks[0].Name);
Assert.AreEqual("Hello world!", doc.Range.Bookmarks[0].Text.Trim());

Shows how to insert a hyperlink which references a local bookmark.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

builder.Write("Bookmarked text. ");
builder.Writeln("Text outside of the bookmark.");

// Insert a HYPERLINK field that links to the bookmark. We can pass field switches
// to the "InsertHyperlink" method as part of the argument containing the referenced bookmark's name.
builder.Font.Color = Color.Blue;
builder.Font.Underline = Underline.Single;
FieldHyperlink hyperlink = (FieldHyperlink)builder.InsertHyperlink("Link to Bookmark1", "Bookmark1", true);
hyperlink.ScreenTip = "Hyperlink Tip";

doc.Save(ArtifactsDir + "DocumentBuilder.InsertHyperlinkToLocalBookmark.docx");

See Also