下载,保存(本地)并从链接显示PDF

本文关键字:链接 显示 PDF 保存 本地 下载 | 更新日期: 2023-09-27 18:30:41

我正在开发Windows Phone 8应用程序。在我的应用程序中,我必须在应用程序中以离线(无网络连接)模式显示PDF文件。为此,我必须执行以下操作,

  1. 从服务器端提供的链接(URL)下载PDF文件。
  2. 将下载的 PDF 文件保存在本地存储中。
  3. 打开并显示本地存储中的 PDF 文件。

在搜索时,我发现了使用ComponentOne Studio的工具集"Studio for Windows Phone"的建议。不幸的是,它不是免费的。有什么方法可以免费实施吗?

任何参考,样品或想法将不胜感激。

下载,保存(本地)并从链接显示PDF

您可以下载 PDF 文件并将其保存在独立存储中,以便以后能够使用 PDF 查看器应用程序(如 Adobe Reader 或 PDF Reader)脱机查看。

因此,让我们逐步了解如何做到这一点。

1-从服务器端提供的链接(URL)下载PDF文件:

WebClient client = new WebClient();
client.OpenReadCompleted += client_OpenReadCompleted;
client.OpenReadAsync(new Uri("http://url-to-your-pdf-file.pdf"));

2-将下载的PDF文件保存在本地存储中:

async void client_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
    byte[] buffer = new byte[e.Result.Length];
    await e.Result.ReadAsync(buffer, 0, buffer.Length);
    using (IsolatedStorageFile storageFile = IsolatedStorageFile.GetUserStoreForApplication())
    {
        using (IsolatedStorageFileStream stream = storageFile.OpenFile("your-file.pdf", FileMode.Create))
        {
            await stream.WriteAsync(buffer, 0, buffer.Length);
        }
    }
}

3-打开并显示本地存储中的PDF文件:

// Access the file.
StorageFolder local = Windows.Storage.ApplicationData.Current.LocalFolder;
StorageFile pdffile = await local.GetFileAsync("your-file.pdf");
// Launch the pdf file.
Windows.System.Launcher.LaunchFileAsync(pdffile);