From 8e0ebe0053a148596d8ae8b23f8aabc448831f00 Mon Sep 17 00:00:00 2001 From: Damjan Cvetko Date: Thu, 22 Mar 2018 09:35:59 +0100 Subject: [PATCH] Allow /Filter value to be a indirect object. --- src/PdfSharp/Pdf.Filters/Filtering.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/PdfSharp/Pdf.Filters/Filtering.cs b/src/PdfSharp/Pdf.Filters/Filtering.cs index 802d44cb..0ea5a22f 100644 --- a/src/PdfSharp/Pdf.Filters/Filtering.cs +++ b/src/PdfSharp/Pdf.Filters/Filtering.cs @@ -27,6 +27,7 @@ // DEALINGS IN THE SOFTWARE. #endregion +using PdfSharp.Pdf.Advanced; using System; using System.Diagnostics; @@ -201,6 +202,12 @@ public static byte[] Decode(byte[] data, string filterName) public static byte[] Decode(byte[] data, PdfItem filterItem) { byte[] result = null; + if (filterItem is PdfReference) + { + PdfReference iref = (PdfReference)filterItem; + Debug.Assert(iref.Value != null, "Indirect /Filter value is null"); + filterItem = iref.Value; + } if (filterItem is PdfName) { Filter filter = GetFilter(filterItem.ToString());