我使用 Mupdf Library 实现了电子书应用程序,并想为我的项目中的每个 pdf 文件生成缩略图,谁能告诉我如何生成这个?提前致谢
问问题
1994 次
3 回答
5
在 Librelio 中,他们使用的是没有 Cookie 的旧版本的项目 muPDF。在新版本中,您需要扩展 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)
于 2015-03-24T06:39:21.360 回答
1
尝试以下操作:
core.drawPage(bm, page, pageW, pageH, patchX, patchY, patchW, patchH);
于 2014-07-01T18:34:23.630 回答
0
如果只想为 PDF 文件生成首页的缩略图,可以使用命令行工具 mudraw:
mudraw -w 128 -h 128 -o thumbnail.png file.pdf 1
于 2013-06-28T08:15:24.960 回答