20

ローカル (SD カード) の PDF ファイルを WebView で開きたい。

私はすでにこれを試しました:

webview = (WebView) findViewById(R.id.webview);
webview.getSettings().setJavaScriptEnabled(true);
webview.getSettings().setPluginsEnabled(true);
webview.getSettings().setAllowFileAccess(true);
File file = new File(Environment.getExternalStorageDirectory() + "/test.pdf");

final Uri uri = Uri.fromFile(file);

webview.loadUrl(uri.toString());

しかし、まだ開いていないので、WebView で PDF を開く方法を教えてください。

4

8 に答える 8

5

上記のコメントで @Sameer が返信したように、webview で PDF を表示する唯一の解決策は、読み取り可能なバージョンをレンダリングしてアプリに送り返す Google ドキュメントのオンライン ビューアーを使用することです。

ここで以前話題になった

于 2013-03-06T09:02:42.760 に答える
2

それはいけません。インテントを使用すると、Acrobat Reader などの外部ビューアー アプリケーションで PDF を開くことができます。

try
{
 Intent intentUrl = new Intent(Intent.ACTION_VIEW);
 intentUrl.setDataAndType(uri, "application/pdf");
 intentUrl.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
 mActivity.startActivity(intentUrl);
}
catch (ActivityNotFoundException e)
{
 Toast.makeText(mActivity, "No PDF Viewer Installed", Toast.LENGTH_LONG).show();
}
于 2012-07-23T13:51:16.060 に答える
1

Android OS 5.0(lollipop) 以降でPdfRenderer instead of webview/library.は、このクラスを使用してアプリ内で PDF を表示できます 。

それより低いOSをサポートしたい場合は、ネイティブサポートがないため、他の回答に記載されているライブラリ/その他のアプローチを使用できます。

docsから詳細を読んでください。このも参照できます

于 2018-06-11T08:43:10.047 に答える