3

Mupdf ライブラリを使用して電子書籍アプリを実装し、プロジェクト内の各 pdf ファイルのサムネイルを生成したいのですが、これを生成する方法を教えてもらえますか? 前もって感謝します

4

3 に答える 3

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 は、ビットマップで塗りつぶす ImageView の幅と高さの 2 つの引数を取ります。

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 に答える