BookmarkEnd

BookmarkEnd class

Stellt das Ende eines Lesezeichens in einem Word-Dokument dar.

Um mehr zu erfahren, besuchen Sie dieArbeiten mit Lesezeichen Dokumentationsartikel.

public class BookmarkEnd : Node

Konstrukteure

NameBeschreibung
BookmarkEnd(DocumentBase, string)Initialisiert eine neue Instanz vonBookmarkEnd Klasse.

Eigenschaften

NameBeschreibung
CustomNodeId { get; set; }Gibt die benutzerdefinierte Knotenkennung an.
virtual Document { get; }Ruft das Dokument ab, zu dem dieser Knoten gehört.
virtual IsComposite { get; }Gibt zurückWAHR ob dieser Knoten andere Knoten enthalten kann.
Name { get; set; }Ruft den Lesezeichennamen ab oder legt ihn fest.
NextSibling { get; }Ruft den Knoten ab, der diesem Knoten unmittelbar folgt.
override NodeType { get; }Gibt zurückBookmarkEnd .
ParentNode { get; }Ruft das unmittelbare übergeordnete Element dieses Knotens ab.
PreviousSibling { get; }Ruft den Knoten ab, der diesem Knoten unmittelbar vorangeht.
Range { get; }Gibt a zurückRange Objekt, das den Teil eines Dokuments darstellt, der in diesem Knoten enthalten ist.

Methoden

NameBeschreibung
override Accept(DocumentVisitor)Akzeptiert einen Besucher.
Clone(bool)Erstellt ein Duplikat des Knotens.
GetAncestor(NodeType)Ruft den ersten Vorfahren des angegebenen abNodeType .
GetAncestor(Type)Ruft den ersten Vorfahren des angegebenen Objekttyps ab.
virtual GetText()Ruft den Text dieses Knotens und aller seiner untergeordneten Knoten ab.
NextPreOrder(Node)Ruft den nächsten Knoten gemäß dem Pre-Order-Tree-Traversal-Algorithmus ab.
PreviousPreOrder(Node)Ruft den vorherigen Knoten gemäß dem Pre-Order-Tree-Traversal-Algorithmus ab.
Remove()Entfernt sich selbst vom übergeordneten Element.
ToString(SaveFormat)Exportiert den Inhalt des Knotens in einen String im angegebenen Format.
ToString(SaveOptions)Exportiert den Inhalt des Knotens mit den angegebenen Speicheroptionen in einen String.

Bemerkungen

Ein vollständiges Lesezeichen in einem Word-Dokument besteht aus aBookmarkStart und ein MatchingBookmarkEnd mit demselben Lesezeichennamen.

BookmarkStart UndBookmarkEnd sind lediglich Markierungen innerhalb eines document , die angeben, wo das Lesezeichen beginnt und endet.

Benutzen Sie dieBookmark Klasse als „Fassade“, um mit einem bookmark als einzelnes Objekt zu arbeiten.

Beispiele

Zeigt, wie Sie Lesezeichen hinzufügen und deren Inhalte aktualisieren.

public void CreateUpdateAndPrintBookmarks()
{
    // Erstellen Sie ein Dokument mit drei Lesezeichen und verwenden Sie dann eine benutzerdefinierte Dokumentbesucherimplementierung, um deren Inhalte zu drucken.
    Document doc = CreateDocumentWithBookmarks(3);
    BookmarkCollection bookmarks = doc.Range.Bookmarks;
    PrintAllBookmarkInfo(bookmarks);

    // Auf Lesezeichen kann in der Lesezeichensammlung nach Index oder Name zugegriffen werden, und ihre Namen können aktualisiert werden.
    bookmarks[0].Name = $"{bookmarks[0].Name}_NewName";
    bookmarks["MyBookmark_2"].Text = $"Updated text contents of {bookmarks[1].Name}";

    // Alle Lesezeichen erneut drucken, um aktualisierte Werte anzuzeigen.
    PrintAllBookmarkInfo(bookmarks);
}

/// <summary>
/// Erstellen Sie ein Dokument mit einer bestimmten Anzahl von Lesezeichen.
/// </summary>
private static Document CreateDocumentWithBookmarks(int numberOfBookmarks)
{
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);

    for (int i = 1; i <= numberOfBookmarks; i++)
    {
        string bookmarkName = "MyBookmark_" + i;

        builder.Write("Text before bookmark.");
        builder.StartBookmark(bookmarkName);
        builder.Write($"Text inside {bookmarkName}.");
        builder.EndBookmark(bookmarkName);
        builder.Writeln("Text after bookmark.");
    }

    return doc;
}

/// <summary>
/// Verwenden Sie einen Iterator und einen Besucher, um Informationen zu jedem Lesezeichen in der Sammlung auszudrucken.
/// </summary>
private static void PrintAllBookmarkInfo(BookmarkCollection bookmarks)
{
    BookmarkInfoPrinter bookmarkVisitor = new BookmarkInfoPrinter();

    // Jedes Lesezeichen in der Sammlung dazu bringen, einen Besucher zu akzeptieren, der seinen Inhalt druckt.
    using (IEnumerator<Bookmark> enumerator = bookmarks.GetEnumerator())
    {
        while (enumerator.MoveNext())
        {
            Bookmark currentBookmark = enumerator.Current;

            if (currentBookmark != null)
            {
                currentBookmark.BookmarkStart.Accept(bookmarkVisitor);
                currentBookmark.BookmarkEnd.Accept(bookmarkVisitor);

                Console.WriteLine(currentBookmark.BookmarkStart.GetText());
            }
        }
    }
}

/// <summary>
/// Gibt den Inhalt jedes besuchten Lesezeichens an die Konsole aus.
/// </summary>
public class BookmarkInfoPrinter : DocumentVisitor
{
    public override VisitorAction VisitBookmarkStart(BookmarkStart bookmarkStart)
    {
        Console.WriteLine($"BookmarkStart name: \"{bookmarkStart.Name}\", Contents: \"{bookmarkStart.Bookmark.Text}\"");
        return VisitorAction.Continue;
    }

    public override VisitorAction VisitBookmarkEnd(BookmarkEnd bookmarkEnd)
    {
        Console.WriteLine($"BookmarkEnd name: \"{bookmarkEnd.Name}\"");
        return VisitorAction.Continue;
    }
}

Siehe auch