Android展示PDF文件(文字,签章,签名)
第一种方式
导入依赖
implementation 'com.github.barteksc:android-pdf-viewer:2.8.2'
layout文件代码
<com.github.barteksc.pdfviewer.PDFViewandroid:id="@+id/pdf_view"android:layout_width="match_parent"android:layout_height="match_parent"/>
activity文件代码
//调用getPdf传入要展示的地址即可实现
private void getPdf(String url) {final InputStream[] input = new InputStream[1];new AsyncTask<Void, Void, Void>() {@SuppressLint({"WrongThread", "StaticFieldLeak"})@Overrideprotected Void doInBackground(Void... voids) {try {input[0] = new URL(url).openStream();} catch (IOException e) {e.printStackTrace();}return null;}@Overrideprotected void onPostExecute(Void aVoid) {super.onPostExecute(aVoid);pdfView.fromStream(input[0]).enableAnnotationRendering(true).load();}}.execute();
}
第二种方式
index.js
var url = location.search.substring(1);PDFJS.cMapUrl = 'https://unpkg.com/pdfjs-dist@1.9.426/cmaps/';
PDFJS.cMapPacked = true;var pdfDoc = null;function createPage() {var div = document.createElement("canvas");document.body.appendChild(div);return div;
}function renderPage(num) {pdfDoc.getPage(num).then(function (page) {var viewport = page.getViewport(2.0);var canvas = createPage();var ctx = canvas.getContext('2d');canvas.height = viewport.height;canvas.width = viewport.width;page.render({canvasContext: ctx,viewport: viewport});});
}PDFJS.getDocument(url).then(function (pdf) {pdfDoc = pdf;for (var i = 1; i <= pdfDoc.numPages; i++) {renderPage(i)}
});
index.html
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8">
<!-- <meta name="viewport"-->
<!-- content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no"/>--><meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=4.0,user-scalable=yes"><title>Document</title><style type="text/css">canvas {width: 100%;height: 100%;border: 1px solid black;}</style><script src="https://unpkg.com/pdfjs-dist@1.9.426/build/pdf.min.js"></script><script type="text/javascript" src="index.js"></script>
</head>
<body>
</body>
</html>
将js 和 html导入项目的assets下
xml
<WebViewandroid:id="@+id/webview"android:layout_width="match_parent"android:layout_height="match_parent"/>
activity
WebSettings webSettings = webview.getSettings();webSettings.setJavaScriptEnabled(true);webSettings.setAllowFileAccess(true);webSettings.setAllowFileAccessFromFileURLs(true);webSettings.setAllowUniversalAccessFromFileURLs(true);webSettings.setBuiltInZoomControls(true);webSettings.setDisplayZoomControls(true);webSettings.setSupportZoom(true);webSettings.setUseWideViewPort(true);// 这里是关键webview.loadUrl("file:///android_asset/index.html?"+“展示的url地址”);
Android展示PDF文件(文字,签章,签名)相关推荐
- 29.Android展示PDF文件
转载请注明出处 http://blog.csdn.net/qq_31715429/article/details/51065730 本文出自:猴菇先生的博客 公司有个需求,展示pdf文件,之前是服务端 ...
- android 展示pdf文件
注:此方式展示pdf文件会增加apk大小3-4m左右 建议使用腾讯浏览服务-x5进行加载pdf文件(可扩展) X5内核初始化下载失败的解决方案 有道云笔记 1. 加入此依赖 implementatio ...
- java使用poi、itextpdf将word、ppt转为pdf文件,并对pdf文件加盖签章
1 环境及背景 SpringBoot项目,使用poi.itextpdf将excel.ppt.word文件转为pdf,并对pdf文件进行签章: 对Excel文件加图片水印,并加密设置为只读. 下面的方法 ...
- PDF文件如何添加签名
PDF文件如何添加签名?在我们平常的工作中,许多文件都需要签名确认执行.如果有一份PDF文件需要签名,屏幕前的你知道应该如何操作吗?如果你并不了解PDF文件应该如何添加签名,那么没关系,继续往下阅读你 ...
- pdfh5 展示pdf文件
pdfh5 展示pdf文件 1.安装 npm install pdfh5 直接复制使用 <template><div id="app"><div id ...
- 使用pdf.js在web页面展示pdf文件
最近弄的项目中需要在线展示PDF文件,以前用的是Adobe PDF阅读器直接在浏览器端打开的,这要求客户端必须安装这个软件,若是没有安装就不能在线预览了.为了解决这个问题,最终决定用pdf.js来实现 ...
- html中怎么展示PDF文件
在 HTML 中展示 PDF 文件有多种方式,以下是其中两种较为常用的方法: 使用 iframe 标签:可以通过使用 iframe 标签将 PDF 文件嵌入到 HTML 页面中.示例代码如下: < ...
- android提取pdf中文字,使用iTextG從Android上的pdf文件中提取文本
當我試圖從SD卡中讀取pdf文件並從中提取文本時,什麼也沒有發生. 沒有錯誤,沒有警告,通知,也沒有結果文件. 我將源文件和結果都存儲在設備的SD卡的根文件夾中. 你們能幫我解決這個問題嗎? 這裏是我 ...
- PDF文件电子签章支持库比较
概述 印章是我国特有的历史文化产物,古代主要用作身份凭证和行驶职权的工具.它的起源是由于社会生活的实际需要.早在商周时代,印章就已经产生.如今的印章已成为一种独特的,融实用性和艺术性为一体的艺术瑰宝. ...
最新文章
- mongodb在mysql中怎么用,mongoDB数据库基本操作
- String.Format()方法
- 四边形内接于圆定理_【初中数学】几何证明靠定理,所有证明定理都在这里
- Python编程基础:第四十二节 多重继承Multi Level Inheritance
- 计算机存储器可分两类,计算机存储器可分为几类?它们的主要区别是什么?
- [蓝桥杯][2013年第四届真题]剪格子(dfs)
- 怎么简单的锁定文件夹_简单性与鲁棒性–在锁定文件处理中展示
- 第二节 CSS入门介绍
- SELU︱在keras、tensorflow中使用SELU激活函数
- Spring源码之动态AOP自定义标签
- paip.编程语言到底有没有优劣之分优秀之分
- Javamail配置阿里云邮箱发送邮件
- Android开发书籍推荐
- python3 英文字母单数转复数
- 网上电子元器件采购商城:打破采购环节信息不对称难题,赋能企业高效协同管理
- 毕业设计——GPU地形高度查询
- Windbg 2进程线程结构分析
- win10修改user文件夹名称
- JVM调优专题-JVM调试工具
- Android下载保存gif图片
热门文章
- 【无标题扫地机SRRC认证】
- 云原生周报 | 百度开源千万级CPS压测软件 dperf;BFE Server v1.5.0 发布
- 限时免费 | 学习成本超低的Python数据分析手册
- jsp汽车租赁系统ssh
- Spring调用Feign报错:java.io.IOException: Incomplete output stream
- 被黑客攻击最多的产业是那些呢?
- Android 解决Tablayout不显示标题,头部一片空白的问题
- 解决使用element-ui级联选择框内容空白且下拉框过高
- php论坛整合,PHPCMS整合Discuz论坛
- Yuki Chan全自动渗透测试工具的安装及使用