BookmarkStart
Inhalt
[
Ausblenden
]BookmarkStart class
Stellt den Anfang eines Lesezeichens in einem Word-Dokument dar.
Um mehr zu erfahren, besuchen Sie dieArbeiten mit Lesezeichen Dokumentationsartikel.
public class BookmarkStart : Node
Konstrukteure
Name | Beschreibung |
---|---|
BookmarkStart(DocumentBase, string) | Initialisiert eine neue Instanz desBookmarkStart Klasse. |
Eigenschaften
Name | Beschreibung |
---|---|
Bookmark { get; } | Ruft das Fassadenobjekt ab, das den Anfang und das Ende dieses Lesezeichens kapselt. |
CustomNodeId { get; set; } | Gibt die benutzerdefinierte Knotenkennung an. |
virtual Document { get; } | Ruft das Dokument ab, zu dem dieser Knoten gehört. |
virtual IsComposite { get; } | RückgabenWAHR wenn 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; } | RückgabenBookmarkStart . |
ParentNode { get; } | Ruft den unmittelbar übergeordneten Knoten dieses Knotens ab. |
PreviousSibling { get; } | Ruft den Knoten ab, der diesem Knoten unmittelbar vorausgeht. |
Range { get; } | Gibt einenRange Objekt, das den Teil eines Dokuments darstellt, der in diesem Knoten enthalten ist. |
Methoden
Name | Beschreibung |
---|---|
override Accept(DocumentVisitor) | Nimmt einen Besucher auf. |
Clone(bool) | Erstellt ein Duplikat des Knotens. |
GetAncestor(NodeType) | Ruft den ersten Vorfahren des angegebenenNodeType . |
GetAncestor(Type) | Ruft den ersten Vorgänger des angegebenen Objekttyps ab. |
override GetText() | Gibt eine leere Zeichenfolge zurück. |
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 eine Zeichenfolge im angegebenen Format. |
ToString(SaveOptions) | Exportiert den Inhalt des Knotens unter Verwendung der angegebenen Speicheroptionen in eine Zeichenfolge. |
Bemerkungen
Ein vollständiges Lesezeichen in einem Word-Dokument besteht aus einemBookmarkStart
und ein passendesBookmarkEnd
mit demselben Lesezeichennamen.
BookmarkStart
UndBookmarkEnd
sind lediglich Markierungen innerhalb eines Dokuments , die angeben, wo das Lesezeichen beginnt und endet.
Verwenden Sie dieBookmark
Klasse als „Fassade“, um mit einem bookmark als einzelnem Objekt zu arbeiten.
Beispiele
Zeigt, wie Lesezeichen hinzugefügt und deren Inhalte aktualisiert werden.
public void CreateUpdateAndPrintBookmarks()
{
// Erstellen Sie ein Dokument mit drei Lesezeichen und verwenden Sie dann eine benutzerdefinierte Dokumentbesucherimplementierung, um deren Inhalt 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}";
// Drucken Sie alle Lesezeichen erneut, um die aktualisierten 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();
// Sorgen Sie dafür, dass jedes Lesezeichen in der Sammlung einen Besucher akzeptiert, 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>
/// Druckt den Inhalt jedes besuchten Lesezeichens auf der Konsole.
/// </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
- class Node
- namensraum Aspose.Words
- Montage Aspose.Words