Class PdfLayerCollection
Read-only collection of PdfLayer entries for a PDF document. Exposes helpers for the two operations callers actually do with the layer tree: lookup by id and lookup by name.
Inheritance
Namespace: IronSoftware
Assembly: IronPdf.dll
Syntax
public class PdfLayerCollection : ReadOnlyCollection<PdfLayer>
Navigating a PDF's optional content groups becomes straightforward with PdfLayerCollection, a read-only handle that wraps the document's full layer tree and exposes targeted lookup helpers. Extending ReadOnlyCollection<PdfLayer>, it preserves the integrity of the layer structure while giving callers two direct retrieval paths and one tree-traversal method.
FindById locates a single PdfLayer by its integer identifier, the fastest route when the id is already known from a prior inspection pass. FindByName accepts a string and returns the matching layer, useful when working from human-readable layer names embedded in a PDF's metadata. ChildrenOf takes a parent id and returns an IEnumerable<PdfLayer> of all direct children, letting you walk nested layer groups without manually filtering the full collection. Together, these three members cover the two everyday tasks: pinpointing a specific layer and understanding the hierarchy beneath a given node.
Because PdfLayerCollection derives from ReadOnlyCollection<PdfLayer>, standard LINQ queries work directly on it alongside the dedicated helpers. You can, for example, call ChildrenOf to get a subtree and then apply .Where or .Select to that result without any additional conversion.
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("layered.pdf");
PdfLayerCollection layers = pdf.Layers;
PdfLayer background = layers.FindByName("Background");
foreach (PdfLayer child in layers.ChildrenOf(background.Id))
Console.WriteLine(child.Name);For broader context on working with PDF layers in IronPDF, see the PDF layers how-to and the IronPDF examples library.
Methods
ChildrenOf(Int32)
Enumerate the direct children of a layer in the document's /OCProperties/D/Order tree. Pass -1 to enumerate root layers.
Declaration
public IEnumerable<PdfLayer> ChildrenOf(int parentId)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | parentId |
Returns
| Type | Description |
|---|---|
| System.Collections.Generic.IEnumerable<PdfLayer> |
FindById(Int32)
Find a layer by its stable OCG id (the value carried on
TextObject.OcgId / PathObject.OcgId). Returns null
for unknown ids and for the sentinel -1 ("no layer").
Declaration
public PdfLayer FindById(int id)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | id |
Returns
| Type | Description |
|---|---|
| PdfLayer |
FindByName(String)
Find the first layer whose /Name matches. Comparison is exact and case-sensitive.
Declaration
public PdfLayer FindByName(string name)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | name |
Returns
| Type | Description |
|---|---|
| PdfLayer |