android pdf框架-12,k2pdfopt

项目源码 https://github.com/archko/amupdf-android.git,so库是另一个工程的,用户工程下查找一下就是了

app:Dragon Viewer Android 版本 APK 下载 - PGYER.COM

k2pdfopt是一个文本重排库,Willus.com's K2pdfopt 这是主页.提供多平台的程序.

mupdf的文本重排,对于非扫描版pdf,可以直接得到文本.但它是按行获取的,虽然可以得到html,要得到一个较好的可视文本,还要处理行的合并.对于扫描版的pdf,它就做不了了.

kindle有一个文本重排,它用的就是k2pdfopt,可以将扫描版的pdf重新排版,效果不错.

在使用中,发现,对于一些程序较长的行,或者公式,它的截取就没有那么智能了,毕竟它是按行处理的,一个程序的pdf书,通常一个方法很长,分割后不容易看.但是对于其它的pdf分割效果不错.

官方提供多平台的app,可以将pdf进行分割,组合,重新生成pdf,适用不同的页面.

对于android平台,axet / android-k2pdfopt · GitLab 这个大侠提供了相应的库,mvn上可以直接获取,aar只有300多k.使用方便.在千元机上,2500*3000的图片,生成dpi150,高宽是720*1500左右的新图片要600多毫秒,效率还行

多说无益,直接上代码:

private void testPdfOpt(CustomView customView) {
        Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.test1);

        DisplayMetrics d = getResources().getDisplayMetrics();
        test(bmp, customView.getWidth(), customView.getHeight(), d.densityDpi);
    }

先解析一个测试图片

private void test(Bitmap bitmap, int viewWidth, int viewHeight, int densityDpi) {
        long start = System.currentTimeMillis();
        K2PdfOpt opt = new K2PdfOpt();
        //最终会形成,以viewWidth为基准的竖长图片,dpi=272/2时纸的大小是:9.4 x 10.2
        //dpi越大,时间越久,
        //count:2, dpi:272, view.w-h:720-1555, bmp.w-h:2550-2781, cos:640
        opt.create(viewWidth, viewHeight, densityDpi / 2);
        opt.load(bitmap);

        int count = opt.getCount();

        List<Bitmap> bitmaps = new
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值