Mupdf生成缩略图

时间:2013-06-27 16:24:19

标签: android mupdf

我使用Mupdf库实现了电子书应用程序,并希望为我项目中的每个pdf文件生成缩略图 谁能告诉我如何生成这个? 提前致谢

3 个答案:

答案 0 :(得分:5)

在Librelio中,他们使用旧版本的项目muPDF而不使用Cookie。在新版本中,您需要扩展mu pdf核心,如下所示:

class MuPDFThumb extends MuPDFCore{
    public MuPDFThumb(Context context, String filename) throws Exception{
        super(context, filename);
    }

    public Bitmap thumbOfFirstPage(int w, int h){
        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());
        return bp;
    }
}

你需要扩展,因为Cookie是MuPDFCore的内部类,它是调用drawPage所必需的。

方法thumbOfFirstPage采用2个参数:ImageView的宽度和高度以填充位图:

UIThread中的

thumbnailImageView.setImageBitmap(bPGenerated)

答案 1 :(得分:1)

尝试以下方法:

core.drawPage(bm, page, pageW, pageH, patchX, patchY, patchW, patchH);

答案 2 :(得分:0)

如果您只想生成PDF文件第一页的缩略图图像,可以使用命令行工具mudraw:

mudraw -w 128 -h 128 -o thumbnail.png file.pdf 1