2012-04-12 13 views
1

いくつかのQ/Aを読み終えても、私の現在の問題にはまだ適切な答えが見つかりません。ローカルに保存されたPDFファイルを開いて表示する

私は/ res/rawフォルダに保存されているpdfファイル(コンパイル時には既知)を持っています。

Intent i; 
i = new Intent(Intent.ACTION_VIEW); 
i.setDataAndType(file,"application/pdf"); 
startActivity(i); 

問題:

InputStream is = getResources().openRawResource(R.raw.mypdf); 

は、その後、私は、デバイス上の好ましいPDFリーダーを使用して(インテント)でPDFを表示したい:

私が使用してファイルをロードしようとしています私のpdfが 'InputStream'として読み込まれている間、インテントは 'File'タイプを取ります。

質問:私はPDFファイルをどのように表示できますか?すなわち、どのようにInputStreamを表示できますか?または、新しいFile()で開くことができるようにpdfファイルを保存するにはどうすればよいですか?

+0

の可能性のある重複した(自分のレイアウトでこれを追加しますhttp://stackoverflow.com/questions/2456344/display-pdf-within-app-on-android) –

答えて

1

TRY資産フォルダにこの..
//場所のPDFだけ

Uri file= Uri.parse("file:///android_asset/mypdf.pdf"); 
    String mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension(MimeTypeMap.getFileExtensionFromUrl(file.toString())); 

try{ 
    Intent i; 
    i = new Intent(Intent.ACTION_VIEW); 
    i.setDataAndType(file,mimeType); 
    startActivity(i); 

}catch (ActivityNotFoundException e) { 
        Toast.makeText(this, 
         "No Application Available to fiew this file type", 
         Toast.LENGTH_SHORT).show(); 
       } 
+0

私は何が起こるか知らせます。 – vnshetty

+0

これはActivityNotFoundExceptionをスローします。さらに、String mimeTypeは空白です(Toastを使用)。拡張が認識されないようです。 – ThomasKJDK

+0

さて...あなたのデバイスには、pdfファイルを読むアプリケーションがありません。adobe readerをインストールして、もう一度やり直してください... – vnshetty

1

をしようとするuはあなたにしたいwhereeverあなたがにexternライブラリにjoanzapata.pdfview

を使用することができ、このコードでは、あなたのPDFファイルを表示します



    private PDFView pdfview; 
    pdfview = (PDFView) findViewById(R.id.pdfview); 
    File file = new File(filepath); 
    pdfview.fromFile(file) 
        .defaultPage(1) 
        .showMinimap(false) 
        .enableSwipe(true) 
        .onLoad(this) 
        .onPageChange(this) 
        .load(); 


場合、またはレイアウトファイルはコンパイル時に知られている、uは、資産フォルダ内のPDF持っている:[?Android上のアプリ内で表示PDF]



    private PDFView pdfview; 
    pdfview = (PDFView) findViewById(R.id.pdfview); 
    pdfview.fromAsset(pdfName) 
        .defaultPage(1) 
        .showMinimap(false) 
        .enableSwipe(true) 
        .onLoad(this) 
        .onPageChange(this) 
        .load(); 


<com.joanzapata.pdfview.PDFView 
       android:id="@+id/pdfview" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent"/> 
関連する問題