我想从pdf文件生成图像(缩略图),就像WhatsApp所做的那样,如下所示
我努力了
> pdfBox(https://github.com/TomRoush/PdfBox-Android)
> Tika(编译’org.apache.tika:tika-parsers:1.11′)
> AndroIDpdfVIEwer(@L_404_2@)
仍然无法找到从pdf生成图像的方法.
pdfBox的:
有一个github问题可以解决这个问题(https://github.com/TomRoush/PdfBox-Android/issues/3),但这仍然没有得到解决.
注意:我已成功使用pdfBox从pdf中提取图像
AndroIDpdfVIEwer:
Github问题(https://github.com/barteksc/AndroidPdfViewer/issues/49)
解决方法:
使用PdfiumAndroid这里提到的PdfiumAndroid ……
用于生成pdf thumb的示例代码
//pdfiumAndroID (https://github.com/barteksc/pdfiumAndroID)//https://github.com/barteksc/AndroIDpdfVIEwer/issues/49voID 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 } }}
更新:
在build.gradle中包含库
compile 'com.github.barteksc:pdfium-androID:1.4.0'
用于生成任何pdf页面的图像:
通过传递存储在存储中的任何pdf uri来调用方法generateImageFrompdf(uri).
该方法将在您的存储的pdf文件夹中生成pdf.png.
总结以上是内存溢出为你收集整理的在Android中生成Pdf的缩略图全部内容,希望文章能够帮你解决在Android中生成Pdf的缩略图所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)