Code Monkey home page Code Monkey logo

thawtarlamin / androidpdfhelper Goto Github PK

View Code? Open in Web Editor NEW

This project forked from githubzjy/androidpdfhelper

0.0 0.0 0.0 1.52 MB

一个基于Android PdfRenderer实现的PDF预览组件,支持对PDF文件的分页切换、放大缩小、拖动定位等操作。A PDF preview component based on Android pdfRenderer, which supports paging switching, zooming in and out, dragging and positioning of PDF files.

Home Page: https://github.com/GitHubZJY/AndroidPdfHelper

Java 100.00%

androidpdfhelper's Introduction

AndroidPdfHelper

一个基于Android PdfRenderer实现的PDF预览组件,支持对PDF文件的分页切换、放大缩小、拖动定位等操作。
A PDF preview component based on Android pdfRenderer, which supports paging switching, zooming in and out, dragging and positioning of PDF files.

特性

  1. 基于PdfRenderer实现,不同于其它第三方库,占用包体小
  2. 支持PDF文件的上下页切换
  3. 支持PDF单页的放大缩小查看
  4. 支持设置文件预览清晰度
  5. 支持自定义控制栏样式
  6. 支持AndroidX

效果预览

如何使用

在项目根目录的build.gradle添加:

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

在项目的build.gradle添加如下依赖:

implementation 'com.github.GitHubZJY:AndroidPdfHelper:v1.0.0'

1.以View的方式调用

<com.zjy.pdfview.PdfView
        android:id="@+id/pdf_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

</com.zjy.pdfview.PdfView>

在代码中初始化PdfView

PdfView pdfView = findViewById(R.id.pdf_view);

  预览在线PDF文件:

pdfView.loadPdf("http://.....xx.pdf");

  预览asset文件:

pdfView.loadPdf("file:///android_asset/test.pdf");

  自定义预览操作条: 首先继承于 AbsControllerBar, 重写 getView 方法返回自定义的视图

public class CustomControllerBar extends AbsControllerBar {
    public View getView() {
        //...
    }
}

通过 setPDFController 设置自定义的Controller即可

CustomControllerBar controllerBar = new CustomControllerBar(this);
pdfView.setPDFController(controllerBar);

2.以页面方式调起

以页面的形式,自带了默认的顶部标题栏,适配Android 5.0以下,会自动下载并调用浏览器打开 预览在线PDF文件:

PdfPreviewUtils.previewPdf(context, "http://.....xx.pdf");

  预览asset文件:

PdfPreviewUtils.previewPdf(context, "file:///android_asset/test.pdf");

 

3.设置预览清晰度.

<com.zjy.pdfview.PdfView
    android:id="@+id/pdf_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:quality="medium">

</com.zjy.pdfview.PdfView>

通过设置 quality 属性即可,目前一共有低、中、高三种清晰度,如下:

高清晰度:high
中等清晰度:medium
低清晰度:low

 

其他

本库基于PdfRenderer实现,目前支持在线或本地pdf文件预览,另外还支持侧边导航滑块,可定位到任意一页,双指拖拽或双击可对单页进行放大缩小控制。 由于PdfRenderer提供的支持有限,主要还是在于预览在线和本地PDF文件,但优点在于其体积小,后续会继续更新,提供更多PDF预览方面的功能,欢迎issue和star~

androidpdfhelper's People

Contributors

githubzjy avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.