2

Windows Phone 8 アプリケーションを開発しています。私のアプリケーションでは、アプリケーション内で PDF ファイルをオフライン (ネット接続なし) モードで表示する必要があります。そのためには、次のことを行う必要があります。

  1. サーバー側が提供するリンク( URL )からPDFファイルをダウンロードします。
  2. ダウンロードした PDF ファイルをローカル ストレージに保存します。
  3. ローカル ストレージから PDF ファイルを開いて表示します。

検索すると、「Studio for Windows Phone」という ComponentOne Studio のツールセットを使用するための提案が見つかりました。残念ながら無料ではありません。無料で実装する方法はありますか?

参考文献、サンプル、またはアイデアは大歓迎です。

4

1 に答える 1

13

PDF ファイルをダウンロードして分離ストレージに保存すると、後で Adob​​e Reader や PDF 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);
于 2013-09-10T10:09:40.723 に答える