使用mupdf将Pdf页面转换为图像

时间:2015-05-29 07:55:24

标签: android pdf mupdf

我用谷歌搜索,但我找不到解决办法。

我需要在不打开PDF的情况下从PDF的第一页显示图像缩略图视图。 PDF文件将在我的手机中提供。

无法安装其他外部库。 Mupdf可用。

2 个答案:

答案 0 :(得分:2)

最后,我完成了这个,

drawPage(bp,0,size.x,size.y,0,0,size.x,size.y,new Cookie());

它可以帮助您将PDF的第一页呈现为BitMap。此方法在MuPDFCore.java中实现。

PointF pageSize = getPageSize(0);             float mSourceScale = Math.max(w / pageSize.x,h / pageSize.y);

        Point size = new Point((int)(pageSize.x*mSourceScale), (int)(pageSize.y*mSourceScale));
        final Bitmap bp = Bitmap.createBitmap(size.x, size.y, Bitmap.Config.ARGB_8888);

        drawPage(bp, 0, size.x, size.y, 0, 0, size.x, size.y, new Cookie());
        storeImageIntoLocal(bp,filePath);//To Do my custom method to store bitmap into local

答案 1 :(得分:1)

如果您想在没有muPDF的情况下这样做,请查看How to convert a PDF page to an image in Android?second answer提供了PdfRenderer的链接(可从API 21获取)。你可能会这样使用它:

 // create a new renderer
 PdfRenderer renderer = new PdfRenderer(getSeekableFileDescriptor());

 // render the page
 Page page = renderer.openPage(i).render(mBitmap, null, null, Page.RENDER_MODE_FOR_DISPLAY);

 // do stuff with the bitmap

 // close the page
 page.close();

 // close the renderer
 renderer.close();