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