diff --git a/src/PdfSharp/Pdf/PdfOutline.cs b/src/PdfSharp/Pdf/PdfOutline.cs index b0961980..9a6b03df 100644 --- a/src/PdfSharp/Pdf/PdfOutline.cs +++ b/src/PdfSharp/Pdf/PdfOutline.cs @@ -414,7 +414,10 @@ void SplitDestinationPage(PdfArray destination) // Reference: 8.2 Destination s #pragma warning disable 162 // The destination page may not yet have been transformed to PdfPage. - PdfDictionary destPage = (PdfDictionary)((PdfReference)destination.Elements[0]).Value; + PdfDictionary destPage = (destination.Elements[0] is PdfInteger) ? + destination.Owner.Pages[((PdfInteger)destination.Elements[0]).Value] : + (PdfDictionary)((PdfReference)destination.Elements[0]).Value; + PdfPage page = destPage as PdfPage; if (page == null) page = new PdfPage(destPage);