From 4db1306daf6ac03262f6d6d76b6fb8777d460677 Mon Sep 17 00:00:00 2001 From: Peter Williams Date: Wed, 29 Mar 2017 16:46:43 +1100 Subject: [PATCH] Allow variable number of Ranges in ICC color spaces --- pdf/model/colorspace.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pdf/model/colorspace.go b/pdf/model/colorspace.go index b2e9cb76..4b45ba3f 100644 --- a/pdf/model/colorspace.go +++ b/pdf/model/colorspace.go @@ -1689,7 +1689,11 @@ func (this *PdfColorspaceICCBased) ToPdfObject() PdfObject { (*dict)["Metadata"] = this.Metadata } if this.Range != nil { - (*dict)["Range"] = MakeArray(MakeFloat(this.Range[0]), MakeFloat(this.Range[1]), MakeFloat(this.Range[2]), MakeFloat(this.Range[3])) + ranges := []PdfObject{} + for _, r := range this.Range { + ranges = append(ranges, MakeFloat(r)) + } + (*dict)["Range"] = MakeArray(ranges...) } // Encode with a default encoder?