如何使用位图从res文件夹打开PDF文件?

时间:2016-12-23 09:38:34

标签: android bitmap

我正在尝试从原始文件夹中读取PDF文件名main.pdf,然后在ImageView上打开它。它没有显示错误,但位图返回null。我的应用程序的主要目的是只打开一个嵌入应用程序的PDF文件,用户只能读取这个PDF文件。如果有其他解决方案,你可以建议我。

private void read()
{
    InputStream in;
    try
    {
        BitmapFactory.Options options = new BitmapFactory.Options();
        options.inJustDecodeBounds = true;
        in = getResources().openRawResource(R.raw.main);
        System.out.println("input stream = " + in);

        BufferedInputStream buffer = new BufferedInputStream(in);
        System.out.println("buffer stream = " + buffer);
        Bitmap bitmap = BitmapFactory.decodeStream(buffer, null, options);
        System.out.println("bitmap = " + bitmap);

        Matrix imageMatrix = image.getImageMatrix();
        image.setImageMatrix(imageMatrix);
        image.setImageBitmap(bitmap);
        image.invalidate();
        in.close();
    } catch (Exception e)
    {
        Log.e("tag", e.getMessage());
        System.err.print(e);
    }
}

1 个答案:

答案 0 :(得分:0)

就像@greenapps所说的那样,BitmapFactory无法打开PDF文件。

你到底想要完成什么?您的应用程序主要是PDF阅读器应用程序,还是PDF阅读小功能?

如果是后者,我建议您查看第三方库,例如AndroidPdfViewerAndroidPdfViewerV1,以查看应用中的PDF文件。