Create Pdf Thumbnail in Android

I want to generate an image (thumbnail) from a pdf file, as done with WhatsApp , as shown below Whatsapp

I tried

and still cannot find a way to generate an image from pdf.


PDFBox:

There is a github issue that addresses this issue ( https://github.com/TomRoush/PdfBox-Android/issues/3 ), but this is still not resolved.

Note. I can successfully extract image from PDF using PDFBOX


AndroidPdfViewer:

Github issue ( https://github.com/barteksc/AndroidPdfViewer/issues/49 )

+19
android image pdf pdfbox
source share
2 answers

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.

+23
source share

Follow the link below

This is my own post.

Create PDF thumbnails using the default Android application library & Picasso

0
source share

All Articles