iTextSharp.text.pdf.PdfDocument.OutlineTree C# (CSharp) Метод

OutlineTree() приватный Метод

private OutlineTree ( PdfOutline outline ) : void
outline PdfOutline
Результат void
        internal void OutlineTree(PdfOutline outline)
        {
            outline.IndirectReference = writer.PdfIndirectReference;
            if (outline.Parent != null)
                outline.Put(PdfName.PARENT, outline.Parent.IndirectReference);
            List<PdfOutline> kids = outline.Kids;
            int size = kids.Count;
            for (int k = 0; k < size; ++k)
                OutlineTree(kids[k]);
            for (int k = 0; k < size; ++k) {
                if (k > 0)
                    kids[k].Put(PdfName.PREV, kids[k - 1].IndirectReference);
                if (k < size - 1)
                    kids[k].Put(PdfName.NEXT, kids[k + 1].IndirectReference);
            }
            if (size > 0) {
                outline.Put(PdfName.FIRST, ((PdfOutline)kids[0]).IndirectReference);
                outline.Put(PdfName.LAST, ((PdfOutline)kids[size - 1]).IndirectReference);
            }
            for (int k = 0; k < size; ++k) {
                PdfOutline kid = (PdfOutline)kids[k];
                writer.AddToBody(kid, kid.IndirectReference);
            }
        }