

androidで他のアプリからPDFを読み込んでPDFを表示させたいのですが上手く表示できませんでした。  
何も描写されません。  
原因のわかる方教えていただけませんか。

[code]

    public class MainActivity extends Activity {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
        }
    
        @TargetApi(Build.VERSION_CODES.M)
        @Override
        public void onWindowFocusChanged(boolean hasFocus) {
            super.onWindowFocusChanged(hasFocus);
            Intent intent = getIntent();
            Uri uri = intent.getData();
            //String name=uri.getLastPathSegment();
            String path =uri.getPath();
    
            ParcelFileDescriptor fd = null;
            PdfRenderer renderer = null;
            PdfRenderer.Page page = null;
            try {
                // SDカード直下からtest.pdfを読み込み、1ページ目を取得
                fd = ParcelFileDescriptor.open(new File(path), ParcelFileDescriptor.MODE_READ_ONLY);
                renderer = new PdfRenderer(fd);
                page = renderer.openPage(1);
    
                ImageView view = (ImageView) findViewById(R.id.image);
                int viewWidth = view.getWidth();
                int viewHeight = view.getHeight();
                float pdfWidth = page.getWidth();
                float pdfHeight = page.getHeight();
                Log.i("test", "viewWidth=" + viewWidth + ", viewHeight=" + viewHeight
                        + ", pdfWidth=" + pdfWidth + ", pdfHeight=" + pdfHeight);
    
                // 縦横比合うように計算
                float wRatio = viewWidth / pdfWidth;
                float hRatio = viewHeight / pdfHeight;
                if (wRatio <= hRatio) {
                    viewHeight = (int) Math.ceil(pdfHeight * wRatio);
                } else {
                    viewWidth = (int) Math.ceil(pdfWidth * hRatio);
                }
                Log.i("test", "drawWidth=" + viewWidth + ", drawHeight=" + viewHeight);
    
                // Bitmap生成して描画
                Bitmap bitmap = Bitmap.createBitmap(viewWidth, viewHeight, Bitmap.Config.ARGB_8888);
                page.render(bitmap, new Rect(0, 0, viewWidth, viewHeight), null, PdfRenderer.Page.RENDER_MODE_FOR_DISPLAY);
    
                view.setImageBitmap(bitmap);
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                try {
                    if (fd != null) {
                        fd.close();
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
                if (page != null) {
                    page.close();
                }
                if (renderer != null) {
                    renderer.close();
                }
            }
        }
    }
    
[/code]


CC BY-SA 3.0
2016-05-29T03:28:49.770
25258
2021-03-07T05:10:04.940
2021-03-07T05:10:04.940
3060
13247
question
java android pdf
androidでPDF読み込むアプリを作りたいがエラーになる