public static PDFImageData LoadImageFromUriData(string src, IPDFDocument document, IPDFComponent owner)
        {
            if (null == document)
            {
                throw new ArgumentNullException("document");
            }
            if (null == owner)
            {
                throw new ArgumentNullException("owner");
            }

            var dataUri = ParseDataURI(src);

            if (dataUri.encoding != "base64")
            {
                throw new ArgumentException("src", $"unsupported encoding {dataUri.encoding}; expected base64");
            }
            if (dataUri.mediaType != "image/png")
            {
                throw new ArgumentException("src", $"unsupported encoding {dataUri.mediaType}; expected image/png");
            }

            var binary = Convert.FromBase64String(dataUri.data);

            using (var ms = new System.IO.MemoryStream(binary))
            {
                return(PDFImageData.LoadImageFromStream(document.GetIncrementID(owner.Type) + "data_png", ms, owner));
            }
        }
            /// <summary>
            /// Loads an image from a base 64 data image
            /// </summary>
            /// <param name="document"></param>
            /// <param name="owner"></param>
            /// <param name="path"></param>
            /// <returns></returns>
            public Scryber.Drawing.PDFImageData LoadImageData(IPDFDocument document, IPDFComponent owner, string path)
            {
                path = GetBase64FromPath(path);

                var binary = Convert.FromBase64String(path);

                using (var ms = new System.IO.MemoryStream(binary))
                {
                    return(PDFImageData.LoadImageFromStream(document.GetIncrementID(owner.Type) + "data_png", ms, owner));
                }
            }