下载并打开pdf文件,前提是手机上有可打开pdf文件的应用
System.out.println("我点击了按钮");
String urlString = "http://public.dhe.ibm.com/common/ssi/ecm/en/wsd14109usen/WSD14109USEN.PDF";
try {
URL url = new URL(urlString);
HttpURLConnection connection = (HttpURLConnection)
url.openConnection();
connection.setRequestMethod("GET");
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setUseCaches(false);
connection.setConnectTimeout(5000);
connection.setReadTimeout(5000);
//实现连接
connection.connect();
System.out.println("connection.getResponseCode()="+connection.getResponseCode());
if (connection.getResponseCode() == 200) {
InputStream is = connection.getInputStream();
//以下为下载操作
byte[] arr = new byte[1];
ByteArrayOutputStream baos = new ByteArrayOutputStream();
BufferedOutputStream bos = new BufferedOutputStream(baos);
int n = is.read(arr);
while (n > 0) {
bos.write(arr);
n = is.read(arr);
}
bos.close();
String path = Environment.getExternalStorageDirectory()
+ "/download/";
String[] name = urlString.split("/");
path = path + name[name.length - 1];
System.out.println("name="+name);
System.out.println("path="+path);
File file = new File(path);
FileOutputStream fos = new FileOutputStream(file);
fos.write(baos.toByteArray());
fos.close();
//关闭网络连接
connection.disconnect();
System.out.println("下载完成");
if (file.exists()) {
System.out.println("打开");
Uri path1 = Uri.fromFile(file);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(path1, "application/pdf");
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
try {
startActivity(intent);
}
catch (ActivityNotFoundException e) {
System.out.println("打开失败");
}
}
}
} catch (IOException e) {
// TODO: handle exception
System.out.println(e.getMessage());
}
分享到:
相关推荐
要在Android上打开PDF文件,可以使用多种库,如`Adobe PDF Viewer SDK`、`MuPDF`或`PDF.js`。这里我们以流行的开源库`AndroidPdfViewer`为例: - 首先,将`AndroidPdfViewer`库添加到你的项目中。 - 创建一个`...
在Android平台上,开发一款能够插件式打开PDF文件的应用是一项常见的任务。这涉及到对PDF阅读器的集成,以便用户能够方便地浏览和处理PDF文档。本文将深入探讨如何实现这一功能,主要涵盖以下几个方面: 1. **PDF...
1. **PDF文件下载** - **网络请求库**:首先,你需要一个网络请求库,如OkHttp或Volley,来处理HTTP/HTTPS请求,下载PDF文件。 - **文件存储**:Android提供多种存储方式,如内部存储、外部存储(SD卡)。考虑到...
3. **打开PDF文件**: - Android系统默认可能不包含PDF阅读器,因此你需要集成第三方库,如Adobe的PDF SDK,或者使用开源的PDF库,如PDF.js、PDFBox或Apache的PDFRenderer。这些库能解析PDF文件并渲染到Android的...
"pdfview打开pdf文件,避免android无法通过webview打开pdf文件"这个主题正是关注如何在Android应用中集成PDF阅读功能,特别是在Eclipse环境下。我们将探讨PDFView库的使用方法,以及如何将其集成到Eclipse项目中。 ...
在Android平台上,打开PDF文件是常见的需求,尤其对于那些需要处理文档或提供阅读体验的应用来说。本教程将详细讲解如何实现在APP内部高效地打开PDF文件,并解决工作中处理Office文件的需求。 首先,我们需要一个库...
在Android平台上,打开本地PDF文件是一项常见的需求,尤其在阅读文档、查看电子书籍或处理业务资料时。在本文中,我们将探讨如何使用第三方库`android-pdfview`来实现这一功能。`android-pdfview`是一个轻量级且高效...
`Android-用于android中打开pdf文件`这个项目提供了一种解决方案,它基于开源的MuPDF-1.6版本,将其编译打包成Android可用的动态链接库(libmupdf.so),这样开发者就可以在自己的应用程序中集成PDF阅读功能。...
在Android应用中打开PDF文件,实现先查找本地pdf文件,如果有直接打开没有去下载PDF文件用于打开。打开PDF时跳转手机上能打开PDF文件的软件直接查看,如果点开查看时有问题则会在Android页面中直接打开PDF文件进行...
当涉及到从网络下载并打开PDF文件时,这一变化尤为重要。以下是一些关键知识点: 1. **运行时权限**:Android 6.0及更高版本中,`READ_EXTERNAL_STORAGE`和`INTERNET`权限成为运行时权限,意味着应用必须在需要这些...
这个压缩包文件"安卓Excelwordppt文档读写相关-Android插件式打开PDF文件.rar"主要涉及的是Android应用如何以插件化的方式处理PDF文档。下面我们将深入探讨这个主题。 首先,Android系统本身并不支持直接编辑或读取...
本示例代码"Android在线打开PDF文件源码"提供了一种解决方案,它允许用户直接在应用内部查看PDF文档,无需预先下载整个文件。这种技术提高了用户体验,因为它使得用户可以即时预览文件,而无需等待整个PDF下载完成。...
Android提供了`PdfRenderer`类,它是系统内置的PDF渲染器,可以用来打开PDF文件并渲染其页面。`PdfRenderer`需要一个文件描述符,所以你需要确保PDF文件存储在可读的位置,例如在内部存储或外部存储,并获取到对应的...
Android 中使用 Intent 打开各种文件类型 Android 操作系统提供了 Intent 机制,允许应用程序之间进行交互和通信。Intent 是一个异步的消息机制,用于在应用程序之间请求或提供服务。通过使用 Intent,可以实现打开...
这个"android打开pdf文件demo"是一个APK工程,专门用于展示如何在Android设备上实现这一功能。以下将详细讲解涉及的知识点: 1. **Android SDK**:这个项目是基于Android SDK构建的,需要开发者对Android的开发环境...
这个库特别强调支持在线查看PDF文件,这意味着用户无需先下载整个文件到本地存储,就可以直接在应用中浏览网络上的PDF文档,提高了用户体验。 `AndroidPDF`库的核心功能包括: 1. **PDF渲染**:库提供了一种高效的...
总之,Android程序打开PDF涉及的关键技术是使用第三方库,如`android-pdfview`,来实现PDF文件的本地加载和展示。通过集成这个库,可以提供一个流畅的阅读界面,同时还能自定义各种交互行为,满足项目的特定需求。
我的方案是:首先将PDF文件下载到手机本地,然后通过调用手机端的应用打开。该Demo是从Android项目中分离出来,完整的保存了一个项目中所使用到的相关机制,线程下载,文件保存,人性化的下载图标,自定义的Toast等...
Android系统本身并不提供直接打开PDF的API,但可以借助Google的`Android PDF Viewer`库,它内置于Android 5.0(Lollipop)及以上版本。不过,这个内置库并不公开API,所以开发者通常需要寻找第三方库来处理PDF。 3...
1. 打开PDF文件:通过`ParcelFileDescriptor`获取到PDF文件的描述符,这通常需要读取文件权限。 2. 创建`PdfRenderer`对象:使用`ParcelFileDescriptor`创建`PdfRenderer`实例。 3. 获取页面:`PdfRenderer`提供了一...