首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么这个通用代码不能在iOS中显示PDF,而不能在Android中呢?

问为什么这个通用代码不能在iOS中显示PDF,而不能在Android中呢?
EN

Stack Overflow用户
提问于 2019-06-15 09:22:34
回答 1查看 76关注 0票数 0

在下面的代码中,我编写了一个PDF文件到应用程序数据目录,并在Xamarin WebView中打开它。这在iOS上运行得很好,但在安卓系统中什么都不显示。为什么这可以在iOS上运行,而不能在安卓上运行?

我也试着把它保存到不同的位置,比如CacheDirectory。

代码语言:javascript
复制
   public DocumentViewer(JaxrsGetDocumentResults doc)
    {
        InitializeComponent();

        string directory = FileSystem.AppDataDirectory;
        var file = Path.Combine(directory, doc.FileName);

        if (!File.Exists(file))
        {
            File.WriteAllBytes(file, doc.FileBytes);
        }
        wv.Source = new Uri("file://" + file);

    }

我认为这在Android上也是一样的,因为Android可以在它的网络浏览器中加载PDF。换句话说,我可以在Android模拟器中打开Chrome,导航到一个PDF url,它就会加载。如下例所示:

​

​

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-15 22:39:47

WebView控件可以在iOS平台上显示PDF文件,但由于缺乏平台支持,无法在Android和Windows Phone平台上显示。在安卓和Windows Phone平台上,可以使用Mozilla的pdf.js来添加这种支持。pdf.js是一个JavaScript库,用于使用HTML5画布元素解析和呈现PDF。

因此,在Android上,你必须创建一个自定义的渲染器,并使用like pdf.js在Webview中显示该文件。

Here是关于如何实现这一点的官方文档和教程。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56606648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档