您的位置:首页 > 其它

借鉴EBookDroid源码,将一个pdf文件按页生成一系列的图片的实现方法

2013-06-18 14:37 961 查看
[java] view
plaincopy

package com.pdf.test;  

  

import org.ebookdroid.core.BitmapRef;  

import org.ebookdroid.core.CodecDocument;  

import org.ebookdroid.core.CodecPage;  

import org.ebookdroid.core.LogContext;  

import org.ebookdroid.droids.mupdf.codec.PdfContext;  

import android.graphics.RectF;  

  

import java.util.concurrent.atomic.AtomicLong;  

  

  

public class PDFPageBitmapFactory {  

  

    private static final AtomicLong SEQ = new AtomicLong();  

    private  final LogContext LCTX  = LogContext.ROOT.lctx(this.getClass().getSimpleName(), true).lctx("" + SEQ.getAndIncrement(), true);  

  

  

    private static PDFPageBitmapFactory  INSTANCE = new PDFPageBitmapFactory();  

    private  PdfContext context;  

    private  CodecDocument document;  

    private  CodecPage page;  

  

    private PDFPageBitmapFactory(){  

  

    }  

  

    public static PDFPageBitmapFactory getInstance(){  

        return INSTANCE;  

    }  

  

    public void makePdfPagePreview(final String filePath,  

            final String password){  

        new Thread(){  

            public void run(){  

                context = new PdfContext();  

                document = context.openDocument(filePath, password);  

                RectF pageSliceBounds  = new RectF(0, 0, 1, 1);  

                int a = document.getPageCount();  

                String picName = "page_";  

                for (int i = 0; i < a; i++) {  

                    page = document.getPage(i);  

                    BitmapRef bitmapRef = page.renderBitmap(page.getWidth(), page.getHeight(),pageSliceBounds);  

                    LCTX.i("make bitmap "+i);  

                    FileUtils.saveBitmapToFile(bitmapRef.getBitmap(), "/sdcard/pic/"+picName+i);  

                    LCTX.i("after save bitmap "+i);  

                }  

            }  

  

        }.start();  

    }  

  

}  

//注意要添加 libebookdroid.so文件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐