From edc850a162624adf8be75963942d1b00be79aecf Mon Sep 17 00:00:00 2001 From: Adrian-George Bostan Date: Wed, 16 Jan 2019 21:49:41 +0200 Subject: [PATCH] Set context for PDF outline and outline items --- pdf/model/outlines.go | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/pdf/model/outlines.go b/pdf/model/outlines.go index e1fa17c7..91051362 100644 --- a/pdf/model/outlines.go +++ b/pdf/model/outlines.go @@ -46,13 +46,13 @@ type PdfOutlineItem struct { // NewPdfOutline returns an initialized PdfOutline. func NewPdfOutline() *PdfOutline { - outline := &PdfOutline{} - - container := &PdfIndirectObject{} - container.PdfObject = MakeDict() - - outline.primitive = container + outline := &PdfOutline{ + primitive: &PdfIndirectObject{ + PdfObject: MakeDict(), + }, + } + outline.context = outline return outline } @@ -65,12 +65,13 @@ func NewPdfOutlineTree() *PdfOutline { // NewPdfOutlineItem returns an initialized PdfOutlineItem. func NewPdfOutlineItem() *PdfOutlineItem { - outlineItem := &PdfOutlineItem{} + outlineItem := &PdfOutlineItem{ + primitive: &PdfIndirectObject{ + PdfObject: MakeDict(), + }, + } - container := &PdfIndirectObject{} - container.PdfObject = MakeDict() - - outlineItem.primitive = container + outlineItem.context = outlineItem return outlineItem } @@ -253,6 +254,10 @@ func (o *PdfOutline) ToPdfObject() PdfObject { dict.Set("Parent", o.Parent.getOuter().GetContainingPdfObject()) } + if o.Count != nil { + dict.Set("Count", MakeInteger(*o.Count)) + } + return container }