public void Dispose()
        {
            if (XpsPtr == IntPtr.Zero)
            {
                return;
            }

            foreach (var page in Pages)
            {
                try
                {
                    RenderLibrary.close_page(XpsPtr, page);
                }
                catch
                {
                }
            }
            Pages = null;

            try
            {
                RenderLibrary.close_xps(XpsPtr);
            }
            finally
            {
                XpsPtr = IntPtr.Zero;
            }
        }