Xamarin - iOS - снимок WKWebView не работает с загруженным PDF - PullRequest
1 голос
/ 06 марта 2020

Я пытаюсь преобразовать содержимое WKWebView в изображение. Он отлично работает на любом URL-адресе, который я загружаю, но когда я пытаюсь получить изображение загруженного PDF-файла, он дает пустое серое изображение. Ниже приведены некоторые из методов, которые я пробовал до сих пор, а также ссылки на видео

WKWebView для изображения с PDF: https://drive.google.com/file/d/1xPNk10HEd-02YpXfH-NRpQzqT6mSQFRd/view?usp=sharing

WKWebView для изображения с сайта: https://drive.google.com/file/d/14YNqHYmDweMW8sE3SHvHIzLd2fOyko6l/view?usp=sharing

    // Method 1
    UIImage image;
    UIGraphics.BeginImageContextWithOptions(webView1.Frame.Size, true, 0.0f);        
    webView1.DrawViewHierarchy(webView1.Bounds, afterScreenUpdates: true);
    image = UIGraphics.GetImageFromCurrentImageContext();
    UIGraphics.EndImageContext();
    return image;



    // Method 2
    UIImage image;
    UIGraphics.BeginImageContextWithOptions(webView1.Frame.Size, true, 0.0f);        
    webView1.Layer.RenderInContext(UIGraphics.GetCurrentContext());
    image = UIGraphics.GetImageFromCurrentImageContext();
    UIGraphics.EndImageContext();
    return image;



    // Method 3
    UIImage image = null;
    var config = new WKSnapshotConfiguration()
    {
        Rect = webView1.Bounds,
    };

    webView1.TakeSnapshot(config, (img, error) =>
    {
        if (error == null)
        {
            image = img;
            AttachImageIntoMessage(image);
        }
        else
            System.Diagnostics.Debug.WriteLine(error.ToString());
    });

Все вышеперечисленные методы работают нормально на простых ссылках, например https://www.google.com, но ни один из них не работает, когда WKWebView загружается с PDF т.е. https://blog.mozilla.org/security/files/2015/05/HTTPS-FAQ.pdf

...