【问题标题】:Display a PDF in a Xamarin WebView在 Xamarin WebView 中显示 PDF
【发布时间】:2017-06-30 21:01:39
【问题描述】:

如何在不使用外部渲染引擎的情况下下载 PDF 文件并将其显示在 WebView 中?

WebView webview = FindViewById<WebView>(Resource.Id.webView1);
webview.Settings.JavaScriptEnabled = true;
webview.Settings.AllowFileAccess = true;
webview.LoadUrl("http://www.justadomain.com/document.pdf");

【问题讨论】:

    标签: c# android pdf xamarin xamarin.android


    【解决方案1】:

    还有许多提供 PDF SDK 的 Xamarin 组件,但遗憾的是价格昂贵。对于其他免费替代方案,您可以随时查看blog post,其中说明了您在应用程序中显示 PDF 文件时的选项。

    最简单也可能是最简洁的解决方案是让第 3 方应用程序显示您的 PDF 文件。这是从上面的博客文章中摘录的java代码:

    using Uri = Android.Net.Uri;
    Intent intent = new Intent(Intent.ActionView);
    intent.SetDataAndType(Uri.Parse("file:///" + PathToFile(filename)), "application/pdf");
    intent.SetFlags(ActivityFlags.ClearTop);
    StartActivity(intent);
    return null;
    

    否则,您也可以尝试查找适用于 Android 的 PDF 库,例如 this one,并通过 java 绑定将其导入您的 Xamarin 项目。

    希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      试试这个:

      webview.LoadUrl("https://docs.google.com/viewer?url="+"http://www.justadomain.com/document.pdf");
      

      【讨论】:

      • 是的,我知道这种方式,但我想显示一个没有任何渲染或 javascript 包装器的普通 pdf。
      【解决方案3】:

      网络引擎无法做到这一点!

      如果您仍然想显示 PDF,您需要一种将其转换为某种 HTML 的方法。这方面有很多工具,例如Google DriveMozillas PDF.js

      【讨论】:

        猜你喜欢
        • 2018-10-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-07-27
        • 2018-07-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多