0

PDFファイルをwebviewで表示しようとしています。HTML5経由でPDFを読み込もうとしています。ここに私のソースコードがあります:

WebView ウェブビュー;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    webview = (WebView) findViewById(R.id.webview);
    webview.getSettings().setJavaScriptEnabled(true);
    webview.setWebViewClient(new HelloWebViewClient()); 
    webview.loadUrl("file:///android_asset/www/test.pdf");
    WebSettings settings = webview.getSettings();
    settings.setJavaScriptEnabled(true);
    settings.setDatabaseEnabled(true);
    String databasePath = this.getApplicationContext()
            .getDir("database", Context.MODE_PRIVATE).getPath();
    settings.setDatabasePath(databasePath);
    webview.setWebChromeClient(new WebChromeClient());
}

private class HelloWebViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }
}

どんな助けでも大歓迎です。前もって感謝します。

4

3 に答える 3

1

Android では、Webview は PDF をサポートしていません。

Google ドキュメントを使用する必要があります。

そのため、アセット フォルダーから webview に PDF を読み込むことはできません。

PDFをサーバーに置くか、

mupdfのようなpdfを読むためにいくつかのライブラリを使用してください

私もこの問題に直面しましたこの質問を参照してください

またはインテントを使用できます。ACTION_VIEW

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(filepath, "application/pdf");
startActivity(intent);
于 2012-06-02T11:29:18.590 に答える
0

次のような WebView オブジェクトでプラグインを有効にしてみてください

mWebView.getSettings().setPluginsEnabled(true);

Android - Load PDF / PDF Viewerの重複の可能性

于 2012-06-02T11:12:56.290 に答える
-1

このコードを試してください::これを参照してください

public class MyPdfViewActivity extends Activity {

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    WebView mWebView=new WebView(MyPdfViewActivity.this);
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.getSettings().setPluginsEnabled(true);
    mWebView.loadUrl("file:///android_asset/www/test.pdf");
    setContentView(mWebView);
  }
}

更新しました::

Uri path = Uri.fromFile(new File("assets/www/test.pdf"); 
Intent intent = new Intent(Intent.ACTION_VIEW); 
intent.setDataAndType(path, "application/pdf"); 
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(intent); 
于 2012-06-02T11:13:00.460 に答える