我正在关注本教程: http://blog.pieeatingninjas.be/2016/02/06/displaying-pdf-files-in-a-uwp-app/ 此代码不适用于uwp应用程序:
Windows.System.LauncherOptions options = newWindows.System.LauncherOptions();
options.ContentType = "application/pdf";
string fileUrl = "file:///C:/Users/Name/Documents/FileName.pdf";
await Windows.System.Launcher.LaunchUriAsync(new Uri(fileUrl), options);
谢谢。
答案 0 :(得分:1)
我们无法通过指定此类文件路径来使用Launcher.LaunchUriAsync(Uri) method来启动PDF文件。
来自Remarks的参考:
您无法使用此方法在本地区域中启动URI。例如,应用无法使用 file:/// 协议访问本地计算机上的文件。相反,您必须使用Storage APIs来访问文件。
因此,在使用您的代码时,LaunchUriAsync
方法将始终返回false
,但它无法正常工作。
要在UWP应用中启动文件,我们可以使用Launcher.LaunchFileAsync methods。
首先,我们需要为该文件获取一个Windows.Storage.StorageFile对象。 Documents文件夹是一个特殊文件夹,我们可以在应用清单中添加documentsLibrary
功能,然后使用KnownFolders.DocumentsLibrary获取PDF文件。或使用FileOpenPicker获取文件。有关详细信息,请参阅File access permissions和Open files and folders with a picker。
获取文件对象后,我们可以使用几个不同的选项启动该文件。有关详细信息,请参阅Launch the default app for a file。
答案 1 :(得分:0)
这是我的做法:
下面的代码用于显示默认应用程序的PDF文件。
StorageFile file = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync(@"Assets\MyDoc.pdf");
var result = await Launcher.LaunchFileAsync(file);