我正在开发Windows phone 8应用程序。在我的应用程序中,我必须在应用程序中在离线(无网络连接)模式下显示PDF文件。为此我必须做以下事情,
在搜索时,我发现了使用ComponentOne Studio工具集“Studio for Windows Phone”的建议。不幸的是它不是免费的。有没有办法免费实施?
任何参考,样品或想法将不胜感激。
答案 0 :(得分:13)
您可以下载PDF文件并将其保存在独立存储中,以便以后使用PDF阅读器应用程序(如Adobe Reader或PDF阅读器)进行离线查看。
让我们一步一步看看如何做到这一点。
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);