项目源码 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

最低0.47元/天 解锁文章
1802

被折叠的 条评论
为什么被折叠?



