Use PdfiumAndroid as indicated by barteksc here ...
Sample code for generating thumb PDF
//PdfiumAndroid (https://github.com/barteksc/PdfiumAndroid) //https://github.com/barteksc/AndroidPdfViewer/issues/49 void generateImageFromPdf(Uri pdfUri) { int pageNumber = 0; PdfiumCore pdfiumCore = new PdfiumCore(this); try { //http://www.programcreek.com/java-api-examples/index.php?api=android.os.ParcelFileDescriptor ParcelFileDescriptor fd = getContentResolver().openFileDescriptor(pdfUri, "r"); 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); pdfiumCore.closeDocument(pdfDocument); // important! } catch(Exception e) { //todo with exception } } public final static String FOLDER = Environment.getExternalStorageDirectory() + "/PDF"; private void saveImage(Bitmap bmp) { FileOutputStream out = null; try { File folder = new File(FOLDER); if(!folder.exists()) folder.mkdirs(); File file = new File(folder, "PDF.png"); out = new FileOutputStream(file); bmp.compress(Bitmap.CompressFormat.PNG, 100, out); // bmp is your Bitmap instance } catch (Exception e) { //todo with exception } finally { try { if (out != null) out.close(); } catch (Exception e) { //todo with exception } } }
Update:
Include library in build.gradle
compile 'com.github.barteksc:pdfium-android:1.4.0'
To create an image of any PDF page:
Call the generateImageFromPdf (uri) method, passing any PDF file stored in your repository.
The method will create PDF.png in the PDF folder of your repository.
user6691016
source share