美文网首页Android学习
Android-PDF转图片

Android-PDF转图片

作者: Magic旭 | 来源:发表于2020-09-07 17:22 被阅读0次

场景

  1. 将PDF里面的内容渲染到原生的View上面,一直没接触过这部分的技术,所以在网上寻找了下,终于发现了Android原生自带的类,也是今天我们着重讲的内容。

PdfRenderer

从名字上可以看出,这个是和渲染有关系的类型。这里我通过加载本地pdf文件到手机上为例子展开说一下如何使用。大致的步骤:读取pdf文件数据 -> 构建图片渲染句柄 -> 创建空位图 -> 渲染句柄将数据渲染在空位图 -> 输出有数据位图

如何使用
  1. 首先目录下创建assets,把pdf文件放进去。


    本地pdf文件
  2. 打开、读取文件

mFileDescriptor = context.applicationContext.assets.openFd("sample.pdf").parcelFileDescriptor
  1. 创建构建图片渲染句柄
mPdfRenderer = PdfRenderer(mFileDescriptor!!)
  1. 选择渲染哪一页的渲染数据
val mCurrentPage = render.openPage(currentPage)
  1. 创建空位图
//空位图的大小,Config是图片ARGB通道,8888是最清晰的了
val bitmap = Bitmap.createBitmap(
                mCurrentPage.width,
                mCurrentPage.height,
                Bitmap.Config.ARGB_8888
            )
  1. 将数据渲染到空位图上
//render支持裁切和旋转参数
mCurrentPage.render(bitmap, null, null, PdfRenderer.Page.RENDER_MODE_FOR_PRINT)
  1. 销毁
    当不需要用的时候,要将资源给销毁掉,要不然会引起内存泄漏问题
fun clear() {
        mFileDescriptor?.close()
        mPdfRenderer?.close()

        mFileDescriptor = null
        mPdfRenderer = null
    }

效果

展示效果

具体demo地址:https://github.com/Linsixu/CSG的feature/1.0.0-pdf-to-image分支。

相关文章

网友评论

    本文标题:Android-PDF转图片

    本文链接:https://www.haomeiwen.com/subject/quklektx.html