android 本地阅读pdf,Android 打开本地pdf文件
Android 中打开pdf文件也是一种很常见的场景,但是上网找了好多资料,有用WebView加载的,但是要用vpn才能搞,最后发现一个库挺不错的,再次分享给大家
android-pdfview。下面主要说一下该库的使用方法。
1. 该库的下载地址
2. android-pdfview的简单介绍
PDFView是这个库中最核心的类,用于加载pdf文件,PDFView是的实现是继承于SurfaceView来实现的。主要用到了建造者模式来设置相关的属性。
fromFile(file) //设置pdf文件地址
fromAsset(assetFileName) //设置pdf文件地址
defaultPage(1) //设置默认显示第1页
onPageChange(this) //设置翻页监听
onLoad(this) //设置加载监听
onDraw(this) //绘图监听
showMinimap(false) //pdf放大的时候,是否在屏幕的右上角生成小地图
swipeVertical( false ) //pdf文档翻页是否是垂直翻页,默认是左右滑动翻页
enableSwipe(true) //是否允许翻页,默认是允许翻页
pages() //把2 , 3 , 4 , 5 过滤掉
load();
3. 在项目的build.gradle添加这个依赖
compile 'com.joanzapata.pdfview:android-pdfview:1.0.4@aar'
4.写一个布局文件
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.lidong.pdf.androidpdf.MainActivity">
android:id="@+id/pdfView"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
5.Activity的实现
package com.lidong.pdf.androidpdf;
import android.graphics.Canvas;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.ViewTreeObserver;
import android.widget.Toast;
import com.joanzapata.pdfview.PDFView;
import com.joanzapata.pdfview.listener.OnDrawListener;
import com.joanzapata.pdfview.listener.OnLoadCompleteListener;
import com.joanzapata.pdfview.listener.OnPageChangeListener;
import java.io.File;
public class MainActivity extends AppCompatActivity implements OnPageChangeListener
,OnLoadCompleteListener, OnDrawListener {
private PDFView pdfView ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
pdfView = (PDFView) findViewById( R.id.pdfView );
//从assets目录读取pdf
displayFromAssets("0010000022464002F__李东.pdf");
//从文件中读取pdf
// displayFromFile( new File( "fileName"));
}
private void displayFromAssets(String assetFileName ) {
pdfView.fromAsset(assetFileName) //设置pdf文件地址
.defaultPage(1) //设置默认显示第1页
.onPageChange(this) //设置翻页监听
.onLoad(this) //设置加载监听
.onDraw(this) //绘图监听
.showMinimap(false) //pdf放大的时候,是否在屏幕的右上角生成小地图
.swipeVertical( false ) //pdf文档翻页是否是垂直翻页,默认是左右滑动翻页
.enableSwipe(true) //是否允许翻页,默认是允许翻页
// .pages() //把 5 过滤掉
.load();
}
private void displayFromFile( File file ) {
pdfView.fromFile(file) //设置pdf文件地址
.defaultPage(6) //设置默认显示第1页
.onPageChange(this) //设置翻页监听
.onLoad(this) //设置加载监听
.onDraw(this) //绘图监听
.showMinimap(false) //pdf放大的时候,是否在屏幕的右上角生成小地图
.swipeVertical( false ) //pdf文档翻页是否是垂直翻页,默认是左右滑动翻页
.enableSwipe(true) //是否允许翻页,默认是允许翻
// .pages( 2 ,5 ) //把2 5 过滤掉
.load();
}
/**
* 翻页回调
* @param page
* @param pageCount
*/
@Override
public void onPageChanged(int page, int pageCount) {
Toast.makeText( MainActivity.this , "page= " + page +
" pageCount= " + pageCount , Toast.LENGTH_SHORT).show();
}
/**
* 加载完成回调
* @param nbPages 总共的页数
*/
@Override
public void loadComplete(int nbPages) {
Toast.makeText( MainActivity.this , "加载完成" + nbPages , Toast.LENGTH_SHORT).show();
}
@Override
public void onLayerDrawn(Canvas canvas, float pageWidth, float pageHeight, int displayedPage) {
// Toast.makeText( MainActivity.this , "pageWidth= " + pageWidth + "
// pageHeight= " + pageHeight + " displayedPage=" + displayedPage , Toast.LENGTH_SHORT).show();
}
}
效果实现:
今天主要是简单使用一下,后面准备将该库进行拓展,是打开网络的pdf文件的功能。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持编程圈!
android 本地阅读pdf,Android 打开本地pdf文件相关推荐
- 移动硬盘新加卷变为本地磁盘且不能打开磁盘查看文件
1.Windows98/ME:打开"控制面板","系统","设备管理器",打开CD-ROM的属性对话框,点"设置"选项卡 ...
- 怎么打开本地计算机策略编辑器,打开本地组策略编辑器; 2.在弹出的本地组策略编辑器窗口...
因为工作需要有些用户会给电脑设置一个固定的IP地址,但是在其他用户接触这台电脑时可能会更改到IP地址.这时如不提前更改回来,会引起一些不必要的麻烦,那要如何防止其他用户更改IP呢?接下来小编就教大家W ...
- android 下载多个文件怎么打开,Android 下载一个资料以及打开这个apk文件
Android 下载一个文件以及打开这个apk文件 下载一个网络文件的函数如下 public static File downLoadFile(String httpUrl) { // TODO Au ...
- win10计算机本地连接属性在哪里,Win10怎么打开本地连接属性_Win10打开本地连接属性教程-192路由网...
问:Win10怎么打开本地连接属性?刚升级到Win10系统,对于Win10系统的操作不是太熟悉. 我在Win10系统上找了很久,都没有找到本地连接这个选项.请问Win10系统本地连接在哪里?怎么才能打 ...
- android获取阅读进度,Android 进度条
ProgressBar是一个进度条控件,一般在需要做某个比较耗时的操作的时候,向用户展示执行进度,以免用户以为已经失去响应. 常用属性: style 设置进度条的样式 visible 是否显示 ...
- android导入html文件怎么打开,Android浏览器如何打开本地html文件
有两种方法:1.代码如下:Intent intent=new Intent(); intent.setAction(android.intent.action.VIEW); Uri CONTENT_U ...
- c pdf转换html,c HTML文件转pdf文件怎么打开
1 回答 2021-05-06 浏览:0 分类:办公入门 回答:直接就打开了,现在浏览器有这个功能 1 回答 回答: 方法: 有比较多的方法打开的HTML文件,那么下面就简单的介绍两个方法打开HTML ...
- python打开本地浏览器_使用webdriver打开本地浏览器--python版
标签: 背景:经常性的,在项目中我们需要打开不同配置的不同浏览器.在学习selenium的过程中,打开本地火狐和本地chrome是一个稍微麻烦的事情,网上的java版本资料很多,但是python版的不 ...
- Android Studio中打开R.java文件的方法
1 R.java文件简介 Android Studio中的R.java文件自动收录当前应用中所有的资源,并根据这些资源建立响应的ID,可以把R.java当成Android应用的资源字典.R.java文 ...
- 该页面仅以HTML格式保存_学用系列PDF批注保存不容易!Ashampoo PDF PK 悦书PDF
整本书阅读中,最令人头痛的是文档协作共读的数据保存.有朋友推荐说可以使Ashampoo PDF与悦书PDF阅读器进行本地阅读批注,再分享给朋友.胖胖老师赶紧下载软件尝试PDF批注保存功能,看看究竟这样 ...
最新文章
- 禁用Chrome缓存进行网站开发
- Java-CGLib动态代理
- 在springboot中使用mybatis generate自动生成实体类和mapper
- Jackson 配置 ObjectMapper
- 【webservice】JAX-WS独立服务使用
- Java 并发编程之 ThreadLocal 线程局部变量
- 使用Python获取Excel文件中单元格公式的计算结果
- python从入门到实践答案第四章_《python从入门到实践》--第四章基本操作列表 重点及课后练习...
- 详解淘宝大秒杀系统设计,首次公开
- 如何以CustomValidator搭配jQuery AJAX进行Server端验证(转)
- c/s架构的ERP系统对接开票接口
- 希捷硬盘维修工具 v5.10.6 绿色免费版
- python爬取南京市房价_屌丝想买房,爬取南京20000多套二手房|上篇
- rails erb_您需要知道Rails中的erb以及如何掌握它
- git从远程仓库拉取指定日期版本的代码到本地
- 随机手机号码_微信绑定了手机号码怎么解绑
- 【兴趣】无需电和油的水锤泵的抽水方式
- 转载:软件天才与技术民工
- html5字体在线代码,网络字体@font-face 如何处理网页中的特殊字体
- java课程报告答辩_Java课程设计答辩之感想
热门文章
- 情商 智商 逆商,哪个最重要?
- Linux中删除文件,磁盘空间未释放问题追踪
- The Performance of µ-Kernel-Based Systems
- Python123 货币转换Ⅰ
- delta pi sigma_数学符号π (Pi)、Σ(Capital Sigma)、μ (Mu) 、σ(sigma)、∏(capital pi), ∫(Integral Symbol)的来历...
- oracle实用教程选择题,第3章 表与表数据操作 Oracle实用教程(第3版)PPT.ppt
- 换个角度来看看C++中的左值、右值、左值引用、右值引用
- mysql聚簇索引和非聚簇索引的区别_聚簇索引与非聚簇索引的区别
- STL 自定义sort 前缀和差分练习
- 资格考试_第二章_证券投资基金概述