Xamarin iOS:如何使用默认阅读器打开.pdf文件?

时间:2017-09-13 23:33:01

标签: c# ios pdf xamarin assets

我正在使用Xamarin iOS。我想让我们的应用程序在默认阅读器中打开.pdf文件。对于Android,我设法通过以下两个过程来完成它:(1)将文件从Assets文件夹复制到Android设备的下载文件夹,以及(2)启动活动以查看文件。 / p>

我找不到iOS的任何类似资源。我们不想在Xamarin website,中使用该控件,因为它涉及下载大量JavaScript(?)代码,使应用程序的大小更大,并且也不支持捏屏幕缩放。我们希望使用操作系统的默认pdf阅读器。

谢谢。

1 个答案:

答案 0 :(得分:1)

方法1:

将Build Action设置为BundleResource。您可以通过右键单击该文件并在打开的菜单中选择“构建操作”来设置文件的构建操作 创建一个UIWebView并将其添加到视图中:

webView = new UIWebView (View.Bounds);
View.AddSubview(webView);

使用NSUrl和NSUrlRequest类加载文件:

string fileName = "Loading a Web Page.pdf"; // remember case-sensitive
string localDocUrl = Path.Combine (NSBundle.MainBundle.BundlePath, fileName);
webView.LoadRequest(new NSUrlRequest(new NSUrl(localDocUrl, false)));
webView.ScalesPageToFit = true;

方法2:

public void OpenFile (NSUrl fileUrl)
{
    var docControl = UIDocumentInteractionController.FromUrl (fileUrl);

    var window = UIApplication.SharedApplication.KeyWindow;
    var subViews = window.Subviews;
    var lastView = subViews.Last ();
    var frame = lastView.Frame;

    docControl.PresentOpenInMenu (frame, lastView, true);
}