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());