我正在处理pdf文件,我想实现我的pdf文件的页面查看器。我的想法是将pdf文件转换成bmp图像,然后使用viewpager。但是我一直在把pdf转换成位图。有什么建议吗?

最佳答案

在你的毕业证书中包含依赖项

compile 'com.github.barteksc:android-pdf-viewer:2.8.1'

使用以下函数将PDF页面转换为位图图像
private  Bitmap generateImageFromPdf(String assetFileName, int pageNumber, int width, int height) {

    PdfiumCore pdfiumCore = new PdfiumCore(mActivity);
    try {
        File f = FileUtils.fileFromAsset(mActivity, assetFileName);
        ParcelFileDescriptor fd = ParcelFileDescriptor.open(f, ParcelFileDescriptor.MODE_READ_ONLY);
        PdfDocument pdfDocument = pdfiumCore.newDocument(fd);
        pdfiumCore.openPage(pdfDocument, pageNumber);
        //int width = pdfiumCore.getPageWidthPoint(pdfDocument, pageNumber);
        //int height = pdfiumCore.getPageHeightPoint(pdfDocument, pageNumber);
        Bitmap bmp = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
        pdfiumCore.renderPageBitmap(pdfDocument, bmp, pageNumber, 0, 0, width, height);
        //saveImage(bmp, filena);
        pdfiumCore.closeDocument(pdfDocument);

        return bmp;
    } catch(Exception e) {
        //todo with exception
    }
    return null;
}

07-24 09:31