如何使用c#在Windows 8应用程序中打开pdf文件?

时间:2012-10-29 08:48:33

标签: windows-8

如何在windows 8 app中阅读pdf文件。在我的Windows 8应用程序中如何打开pdf文件。

在清单文件中,我编写了以下代码。

<Extensions>
        <Extension Category="windows.fileTypeAssociation">
          <FileTypeAssociation Name="pdf">
            <SupportedFileTypes>
              <FileType>.pdf</FileType>
            </SupportedFileTypes>
          </FileTypeAssociation>
        </Extension>
      </Extensions>

和代码背后。

string imageFile = @"Images\DX730_EN.pdf";

           var file = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync(imageFile);

            if (file != null)
            {
                // Set the option to show the picker
                var options = new Windows.System.LauncherOptions();
                options.DisplayApplicationPicker = true;

                // Launch the retrieved file
                bool success = await Windows.System.Launcher.LaunchFileAsync(file, options);
                if (success)
                {
                    // File launched
                }
                else
                {
                    // File launch failed
                }
            }
            else
            {
                // Could not find file
            }

我无法打开pdf文件。请告诉我哪里出错?

3 个答案:

答案 0 :(得分:4)

您可以使用Windows.System.Launcher类的LaunchFileAsync方法。

看看这个: http://msdn.microsoft.com/en-us/library/windows/apps/hh701465.aspx

答案 1 :(得分:0)

答案 2 :(得分:0)

解决方案是,您可以在Windows.ApplicationModel.Package.Current.InstalledLocation上打开pdf文件......

因此,将pdf放在本地文件夹中并从中打开。

    StorageFolder localFolder = Windows.Storage.ApplicationData.Current.LocalFolder;
     StorageFile file= await localFolder.GetFileAsync("myFile.pdf");
     if (file != null)
                {
                    // Set the option to show the picker
                    var options = new Windows.System.LauncherOptions();
                    options.DisplayApplicationPicker = true;

                    // Launch the retrieved file
                    bool success = await Windows.System.Launcher.LaunchFileAsync(file, options);
                }