Merge pull request #281 from peterwilliams97/multi.encode.clean

Write out multi-encoder filters correctly
This commit is contained in:
Gunnsteinn Hall 2020-03-19 10:04:24 +00:00 committed by GitHub
commit 38b564cd71
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -2372,7 +2372,12 @@ func (enc *MultiEncoder) AddEncoder(encoder StreamEncoder) {
// MakeStreamDict makes a new instance of an encoding dictionary for a stream object.
func (enc *MultiEncoder) MakeStreamDict() *PdfObjectDictionary {
dict := MakeDict()
dict.Set("Filter", MakeName(enc.GetFilterName()))
names := make([]PdfObject, len(enc.encoders))
for i, e := range enc.encoders {
names[i] = MakeName(e.GetFilterName())
}
dict.Set("Filter", MakeArray(names...))
// Pass all values from children, except Filter and DecodeParms.
for _, encoder := range enc.encoders {