在Android中生成Pdf的缩略图

在Android中生成Pdf的缩略图,第1张

概述我想从pdf文件生成图像(缩略图),就像WhatsApp所做的那样,如下所示我努力了>PDFBox(https://github.com/TomRoush/PdfBox-Android)>Tika(编译’org.apache.tika:tika-parsers:1.11′)>AndroidPdfViewer(https://github.com/barteksc/AndroidPdfViewer)仍然无法找到从pdf生成图

我想从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的缩略图所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1098725.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存