Namespace: PdfSharp.Pdf
Represents a name tree node.
public sealed class PdfNameTreeNode : PdfDictionary, System.ICloneable, System.Collections.Generic.IEnumerable`1[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[PdfSharp.Pdf.PdfItem, PdfSharp, Version=0.1.3.0, Culture=neutral, PublicKeyToken=null]], System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Collections.IEnumerable
Inheritance Object → PdfItem → PdfObject → PdfDictionary → PdfNameTreeNode
Implements ICloneable, IEnumerable<KeyValuePair<String, PdfItem>>, IEnumerable
Gets the parent of this node or null if this is the root-node
public PdfNameTreeNode Parent { get; set; }
Gets a value indicating whether this instance is a root node.
public bool IsRoot { get; }
Gets the number of Kids elements.
public int KidsCount { get; }
Gets the number of Names elements.
public int NamesCount { get; }
Get the number of names in this node including all children
public int NamesCountTotal { get; }
public IEnumerable<PdfNameTreeNode> Kids { get; }
Gets the least key.
public string LeastKey { get; }
Gets the greatest key.
public string GreatestKey { get; }
Gets the dictionary containing the elements of this dictionary.
public DictionaryElements Elements { get; }
Gets or sets the PDF stream belonging to this dictionary. Returns null if the dictionary has no stream. To create the stream, call the CreateStream function.
public PdfStream Stream { get; set; }
Gets the PdfDocument this object belongs to.
public PdfDocument Owner { get; }
Indicates whether the object is an indirect object.
public bool IsIndirect { get; }
Gets the PdfInternals object of this document, that grants access to some internal structures which are not part of the public interface of PdfDocument.
public PdfObjectInternals Internals { get; }
Gets the indirect reference of this object. If the value is null, this object is a direct object.
public PdfReference Reference { get; internal set; }
Gets the indirect reference of this object. Throws if it is null.
public PdfReference ReferenceNotNull { get; }
InvalidOperationException
The indirect reference must be not null here.
Initializes a new instance of the PdfNameTreeNode class.
public PdfNameTreeNode()
Initializes a new instance of the PdfNameTreeNode class.
public PdfNameTreeNode(PdfDictionary dict)
dict
PdfDictionary
Gets the list of names this node contains
public IReadOnlyList<string> GetNames(bool includeKids)
includeKids
Boolean
Specifies whether the names of the kids should also be returned
IReadOnlyList<String>
The list of names this node contains
Remarks:
Note: When kids are included, the names are not guaranteed to be sorted
Determines whether this node contains the specified
public bool ContainsName(string name, bool includeKids)
name
String
The name to search for
includeKids
Boolean
Specifies whether the kids should also be searched
Boolean
true, if this node contains , false otherwise
Get the value of the item with the specified .
If the value represents a reference, the referenced value is returned.
public PdfItem GetValue(string name, bool includeKids)
name
String
The name whose value should be retrieved
includeKids
Boolean
Specifies whether the kids should also be searched
PdfItem
The value for when found, otwerwise null
Adds a child node to this node.
public void AddKid(PdfNameTreeNode kidNode)
kidNode
PdfNameTreeNode
Adds a key/value pair to the Names array of this node.
public void AddName(string key, PdfItem value)
key
String
value
PdfItem
internal void PrepareForSave()
internal void WriteObject(PdfWriter writer)
writer
PdfWriter