Search Results for

    Show / Hide Table of Contents

    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
    System.Object
    PdfLayerCollection
    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
    ☀
    ☾
    Downloads
    • Download with Nuget
    • Start for Free
    In This Article
    Back to top
    Install with Nuget