第一种方式

导入依赖

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文件(文字,签章,签名)相关推荐

  1. 29.Android展示PDF文件

    转载请注明出处 http://blog.csdn.net/qq_31715429/article/details/51065730 本文出自:猴菇先生的博客 公司有个需求,展示pdf文件,之前是服务端 ...

  2. android 展示pdf文件

    注:此方式展示pdf文件会增加apk大小3-4m左右 建议使用腾讯浏览服务-x5进行加载pdf文件(可扩展) X5内核初始化下载失败的解决方案 有道云笔记 1. 加入此依赖 implementatio ...

  3. java使用poi、itextpdf将word、ppt转为pdf文件,并对pdf文件加盖签章

    1 环境及背景 SpringBoot项目,使用poi.itextpdf将excel.ppt.word文件转为pdf,并对pdf文件进行签章: 对Excel文件加图片水印,并加密设置为只读. 下面的方法 ...

  4. PDF文件如何添加签名

    PDF文件如何添加签名?在我们平常的工作中,许多文件都需要签名确认执行.如果有一份PDF文件需要签名,屏幕前的你知道应该如何操作吗?如果你并不了解PDF文件应该如何添加签名,那么没关系,继续往下阅读你 ...

  5. pdfh5 展示pdf文件

    pdfh5 展示pdf文件 1.安装 npm install pdfh5 直接复制使用 <template><div id="app"><div id ...

  6. 使用pdf.js在web页面展示pdf文件

    最近弄的项目中需要在线展示PDF文件,以前用的是Adobe PDF阅读器直接在浏览器端打开的,这要求客户端必须安装这个软件,若是没有安装就不能在线预览了.为了解决这个问题,最终决定用pdf.js来实现 ...

  7. html中怎么展示PDF文件

    在 HTML 中展示 PDF 文件有多种方式,以下是其中两种较为常用的方法: 使用 iframe 标签:可以通过使用 iframe 标签将 PDF 文件嵌入到 HTML 页面中.示例代码如下: < ...

  8. android提取pdf中文字,使用iTextG從Android上的pdf文件中提取文本

    當我試圖從SD卡中讀取pdf文件並從中提取文本時,什麼也沒有發生. 沒有錯誤,沒有警告,通知,也沒有結果文件. 我將源文件和結果都存儲在設備的SD卡的根文件夾中. 你們能幫我解決這個問題嗎? 這裏是我 ...

  9. PDF文件电子签章支持库比较

    概述 印章是我国特有的历史文化产物,古代主要用作身份凭证和行驶职权的工具.它的起源是由于社会生活的实际需要.早在商周时代,印章就已经产生.如今的印章已成为一种独特的,融实用性和艺术性为一体的艺术瑰宝. ...

最新文章

  1. mongodb在mysql中怎么用,mongoDB数据库基本操作
  2. String.Format()方法
  3. 四边形内接于圆定理_【初中数学】几何证明靠定理,所有证明定理都在这里
  4. Python编程基础:第四十二节 多重继承Multi Level Inheritance
  5. 计算机存储器可分两类,计算机存储器可分为几类?它们的主要区别是什么?
  6. [蓝桥杯][2013年第四届真题]剪格子(dfs)
  7. 怎么简单的锁定文件夹_简单性与鲁棒性–在锁定文件处理中展示
  8. 第二节 CSS入门介绍
  9. SELU︱在keras、tensorflow中使用SELU激活函数
  10. Spring源码之动态AOP自定义标签
  11. paip.编程语言到底有没有优劣之分优秀之分
  12. Javamail配置阿里云邮箱发送邮件
  13. Android开发书籍推荐
  14. python3 英文字母单数转复数
  15. 网上电子元器件采购商城:打破采购环节信息不对称难题,赋能企业高效协同管理
  16. 毕业设计——GPU地形高度查询
  17. Windbg 2进程线程结构分析
  18. win10修改user文件夹名称
  19. JVM调优专题-JVM调试工具
  20. Android下载保存gif图片

热门文章

  1. 【无标题扫地机SRRC认证】
  2. 云原生周报 | 百度开源千万级CPS压测软件 dperf;BFE Server v1.5.0 发布
  3. 限时免费 | 学习成本超低的Python数据分析手册
  4. jsp汽车租赁系统ssh
  5. Spring调用Feign报错:java.io.IOException: Incomplete output stream
  6. 被黑客攻击最多的产业是那些呢?
  7. Android 解决Tablayout不显示标题,头部一片空白的问题
  8. 解决使用element-ui级联选择框内容空白且下拉框过高
  9. php论坛整合,PHPCMS整合Discuz论坛
  10. Yuki Chan全自动渗透测试工具的安装及使用