android 打开pdf文件
android 打开pdf的几种方法
Intent传递文件路径, PDFView ,android-debug.aar
intent 传递
- Uri path = Uri.fromFile(file);
- Intent intent = new Intent(Intent.ACTION_VIEW);
- intent.setDataAndType(path, "application/pdf");
- intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
- try {
- startActivity(intent);
- }catch (ActivityNotFoundException e) {
- Toast.makeText(this, "No Application Available to View PDF",
- Toast.LENGTH_SHORT).show();
- }
这样会有个问题是通过第三方app打开 如果用户手机没有装能打开pdf文件的app 这个PDF就无法打开 用户体验不好
PDFView 在之前项目用了一下 通过自己写activity 和PDFView来打开pdf,缺陷打开pdf支持pdf编码不多 好像只支持UTF-8 而且打开界面后前几秒 画面跟打了马赛克一样,模糊
open_pdf.xml文件
- <?xml version="1.0"encoding="utf-8"?>
- <RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
- <com.joanzapata.pdfview.PDFView
- android:id="@+id/pdfView"
- android:layout_width="match_parent"
- android:layout_height="match_parent"/>
- </RelativeLayout>
java代码
- import android.app.Activity;
- import android.os.Bundle;
- import com.joanzapata.pdfview.PDFView;
- import com.joanzapata.pdfview.listener.OnPageChangeListener;
- import java.io.File;
- public class OpenPDFActivity extends Activity implements OnPageChangeListener {
- private PDFView pdfView;
- Integer pageNumber = 1;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.open_pdf);
- pdfView = (PDFView) findViewById(R.id.pdfView);
- String path = getIntent().getStringExtra("PATH");//
- File file = new File(path);
- display(file, true);
- }
- private void display(File assetFileName, boolean jumpToFirstPage) {
- if (jumpToFirstPage) pageNumber = 1;
- pdfView.fromFile(assetFileName)
- .defaultPage(pageNumber)
- .onPageChange(this)
- .showMinimap(false)
- .enableSwipe(true)
- .load();
- }
- @Override
- public void onPageChanged(int page, int pageCount) {
- pageNumber = page;
- }
- @Override
- public void onBackPressed() {
- super.onBackPressed();
- }
- }
通过aar打开 (android studio)
在build.gradle
compile(name: 'android-debug', ext: 'aar')
java代码
点击下载arr文件
- public void skip(String path) {
- Intent intent = new Intent();
- intent.setClass(getApplicationContext(), MuPDFActivity.class);
- intent.setAction("android.intent.action.VIEW");
- File file = new File(path);
- intent.setData(Uri.fromFile(file));
- startActivity(intent);
- }
android 打开pdf文件相关推荐
- android存储pdf文件怎么打开,android打开pdf文件
我们在工作中肯定有需要,加载pdf或者doc的地方,但是,android没有提供一个好的打开方法,我又想吐槽下,人家ios可以直接打开的.. 有2钟方法打开pdf.doc. 方法一: 利用Intent ...
- Android用PdfRenderer类开发打开pdf文件的功能
PdfRenderer是Android官方用于开发打开pdf文件功能的类,今天介绍一下它的最基本的使用.Android官方有一个相关的Sample,项目名是PdfRendererBasic,大家也可以 ...
- Android下载并打开PDF文件
1.下载PDF文件到本地 private void downFile(){String urlString = "http://14.215.72.79/file3.data.weipan. ...
- android本地xml文件怎么打开,android 打开本地文件
首先要知道的是,Android 打开本地文件是根据类型打开的,也就是根据文件的 MIME 类型来确定 如果不知道是什么类型,那就是 : */* 类型匹配表: private static final ...
- Android实现打开本地文件,Android 打开本地文件(示例代码)
Android 打开本地的文件,目前来说,其实很常见.而且现在有手机版的office了.查看office的全家桶就更加方便. 首先要知道的是,Android 打开本地文件是根据类型打开的,也就是根据文 ...
- 使用第三方应用打开pdf文件
/*** android获取一个用于打开PDF文件的intent** @param path 要打开的文件的绝对路径* @return*/public Intent getPdfFileIntent( ...
- android 打开部分文件方法汇总整理
总结打开文件的的方法代码: /*** 打开文件* @param file*/ private void openFile(File file){ Intent intent = new Intent( ...
- android 打开本地文件
这个是别人的代码,自己忘了地址,只是给自己记录插个眼 获取本地文件 在MainActivity 中写方法 /*** android 打开本地文件* @param path 本地文件路径(带文件名)*/ ...
- uniapp通过url或base64打开pdf文件
1.通过url打开pdf文件: //通过url打开pdf文件openPdfFileByUrl(pdfUrl: string) {uni.showLoading({title: "下载中,请稍 ...
- 打开PDF文件弹出阅读未加标签文档的解决方法
打开PDF文件弹出阅读未加标签文档的解决方法 参考文章: (1)打开PDF文件弹出阅读未加标签文档的解决方法 (2)https://www.cnblogs.com/Tty725/p/3308065.h ...
最新文章
- vue 相同的id不合并_vue中key的作用
- 03-JDBC学习手册:JDBC中几个重要接口和异常处理
- cocos2d-x游戏实例(1)-视角跟随主角
- shrio的rememberMe不起作用
- blockUI应用到Asp.Net页面时服务器控件(Button等)失效的问题
- Vue+Vue-router+Vuex项目实战
- 关于STL的一些笔记
- OpenGL基础27:网格
- UIApplication keyWindow rootViewController 为 nil 的
- 【业务】GB4754T-2017国民经济行业分类
- Fortran入门教程(一)——引入篇
- Unity3D中隐藏与显示物体的方法
- 解决 cp: omitting directory ‘./dist’ ( 拷贝失败 )
- 在线取名应用!给你自己取个好听的网名吧!
- 监控 - Prometheus监控
- python一天学费多少_自学python一天的小项目实战
- win 7系统怎么看计算机配置,windows7系统怎么查看电脑配置
- 活动回顾丨研发效能度量线下沙龙圆满举办
- 微信小程序云开发:使用cms平台来创建json数组
- 顶会最佳论文奖得主:初入科研领域,如何正确做科研?
热门文章
- 数仓建模—数据资产管理
- 推荐算法架构3:精排
- itextpdf 给pdf文档添加图片
- pc端移动端布局有什么区别
- Flask开发 导入flask_uploads包时提示“IMPORTERROR: CANNOT IMPORT NAME ‘SECURE_FILENAME‘ FROM ‘WERKZEUG‘“
- t检验临界值表中的n是什么_t检验临界值分布表
- Nginx优化---防盗链--网页缓存--网页压缩--日志分割
- 欢雀HR员工管理系统,轻松搞定员工档案管理!
- 信息系统项目管理师和PMP对比
- 电脑版微信多开显示网络代理服务器,电脑版微信多开办法,超级简单,一看就会...