如何在每个android api版本中使用PdfRender将Pdf页面转换为位图?

时间:2017-06-08 09:57:03

标签: android pdf bitmap pdfrenderer pdfpage

我已经浏览了几个代码并导入了很多库,我尝试使用PdfRender这很容易使用,但它不能在api 21版和android-pdfviewer库代码下工作,它会使apk大小更大我导入并在我的项目中使用它。任何人都可以建议一些库或代码将每个页面的pdf转换为位图并将其保存在arraylist中,这不应该使apk尺寸更大,并且应该支持每个版本的android。

下面我已经附上了我的代码PdfRender

ParcelFileDescriptor  pdfFile = ParcelFileDescriptor.open(pdf,
                            ParcelFileDescriptor.MODE_READ_ONLY);
              PdfRenderer pdfRenderer = new PdfRenderer(pdfFile);
                    if (pdfRenderer != null) {
                        for (int i = 0; i < pdfRenderer .getPageCount(); i++) {
                            // Open page with specified index
                            try {
                                if (pdfPage != null) {
                                    pdfPage .close();
                                }
                            } catch (Exception e) {
                                e.printStackTrace();
                            }
                            pdfPage = pdfRenderer.openPage(i);
                            Bitmap bitmap = Bitmap.createBitmap(olamPage.getWidth(),
                                    pdfPage .getHeight(), Bitmap.Config.ARGB_8888);

                            //Pdf page is rendered on Bitmap
                            pdfPage .render(bitmap, null, null,
                                    PdfRenderer.Page.RENDER_MODE_FOR_DISPLAY);
                            // ArrayList Adding Bitmaps
                            pdfBitmaps.add(bitmap);
                        }

0 个答案:

没有答案