热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

安卓pdfjs,安卓pdf软件

本文目录一览:1、androidpdf如何实现发大后下一页

本文目录一览:


  • 1、android pdf如何实现发大后下一页


  • 2、pdf.js可以用到移动端吗


  • 3、pdf.js 在安卓手机uc浏览器不支持在线预览


  • 4、vue-pdf 预览乱码问题


  • 5、自定义微信分享链接(使用JS-SDK) + 实现预览pdf

android pdf如何实现发大后下一页

是接入第三方的jar包(如android-pdfview、AndroidPdfViewer

、PdfViewPager、MuPdf等)这里面接入到项目里增加APP体积最小的就属android-pdfview了,但是也是增加了4m左右,这还是我只加了arm和arm-v7a,但是这个jar包有个致命的大坑,就是不能播放带有超链接的pdf文件,会报类型转换错误的crash,这个是我项目快要上线才发现的问题,而且作者也停更了,网上没有好的解决方法,只能把源码导入到项目里在报错的位置作相应的处理才能解决,而且可能会导致pdf显示不出来。别的jar包都因为实在是太大了,考虑到APP的体积都放弃了。

2. 是我偶尔发现的官方的simple PdfRendererBasic这个主要是把pdf文件读出来把每一页ppt转成图片显示出来,不过这个每次只能显示一张,虽然可以做一个下一页按钮,但是实在是跟我的需求不符就也放弃了。

3.

接入pdf.js。这是个开源的把pdf转换成图片的工具,在网上有很多资料,但是大部分都是服务器解决的,官网上的例子也大部分都是用服务器解决的例子,android端可能用到的人很少,也没有详细的教程,其实很简单,主要是把pdf.js和pdf.worker.js这两个js文件考到你项目里的assets文件里面,然后在你的项目里直接用webview调用就好了。

详细

pdf.js可以用到移动端吗

可以。但消耗内存太大,h5页面需要植入到app里面去,ios的打开没有问题,安卓打开会闪退,有没有其他适用于移动端的h5预览pdf的js插件

pdf.js 在安卓手机uc浏览器不支持在线预览

①塞班版UC浏览器:目前塞班平台是暂时不支持JavaScrip的;

②安卓版UC浏览器:是支持Javascript的,此功能是默认开启的,没有开关。

vue-pdf 预览乱码问题

我遇到过以下两种情况的乱码,都是h5(我的项目是嵌入到钉钉内部的,具体网页版没有测试过):

1、苹果手机正常显示;安卓手机只能显示部分汉字,字母数字都正常。

2、部分pdf文件苹果手机、安卓手机都不显示汉字,乱码。

(备注:这里提一下我的vue-pdf版本是4.1)

1、找到安装的依赖文件夹vue-pdf,把node_modules vue-pdf src pdfjsWrapper.js替换为以下文件内容:

1、引入CMapReaderFactory.js(这个文件也在node_modules vue-pdf src下) 备注:不用关注,只是提一下

2、在执行 pdf.createLoadingTask 方法的时候加入 CMapReaderFactory ,(我的vue-pdf基本用法里有写) pdf的基本用法,点击这里

自定义微信分享链接(使用JS-SDK) + 实现预览pdf

可参考:微信JS-SDK说明文档

此时可能出现白名单错误(忘截图了),需要在微信公众号中设置错误中的IP

注意:access_token和ticket都需要缓存

4. 获取签名 signature

将以上内容以键值对形式拼接,类似如下

本地引入sha1算法(需网上查找)

将上述拼接的字符串以参数的形式传递到sha1中得到 signature

signature = sha1(拼接完的字符串)

验证 signature 是否正确

将appId,nonceStr,timestamp和signature返回给前端

官网上是这样描述的:

这时候调用 updateAppMessageShareData , updateTimelineShareData 的时候就可以生效了,具体原理不清楚。。

注意:imgUrl配置有严格的要求

尺寸120 x 120,大小不超过10K,不支持GIF格式。必须采用https协议(最好写完整url),不支持base64。由于我使用的是vue,在webpack打包时图片小于10k的是会自动打包成base64导致无法正常显示图片,因此在webpack.base.config.js中修改默认配置

由于在网页中直接查看pdf的路径是无法在微信中查看(安卓)和分享(ios),因此使用pdf插件进行优化 --- pdf.js 。其原理是绘制成canvas,最终在真机上放大时可能出现模糊的问题。

创建之后控制台会报错出现跨域问题,因为pdf.js不支持跨域访问。此时可以将错误跨域信息在上一步你引入的文件中查找,然后将其判断语句注释掉即可解决这个问题。最后会发现pdf出现在这个容器中(忘截图了),也实现了微信中预览和分享的功能。


推荐阅读
  • 微信小程序详解:概念、功能与优势
    微信公众平台近期向200位开发者发送了小程序的内测邀请。许多人对微信小程序的概念还不是很清楚。本文将详细介绍微信小程序的定义、功能及其独特优势。 ... [详细]
  • MySQL 5.7 学习指南:SQLyog 中的主键、列属性和数据类型
    本文介绍了 MySQL 5.7 中主键(Primary Key)和自增(Auto-Increment)的概念,以及如何在 SQLyog 中设置这些属性。同时,还探讨了数据类型的分类和选择,以及列属性的设置方法。 ... [详细]
  • Framework7:构建跨平台移动应用的高效框架
    Framework7 是一个开源免费的框架,适用于开发混合移动应用(原生与HTML混合)或iOS&Android风格的Web应用。此外,它还可以作为原型开发工具,帮助开发者快速创建应用原型。 ... [详细]
  • 全面解析JavaScript代码注释技巧与标准规范
    在Web前端开发中,JavaScript代码的可读性和维护性至关重要。本文将详细介绍如何有效地使用注释来提高代码的可读性,并探讨JavaScript代码注释的最佳实践和标准规范。通过合理的注释,开发者可以更好地理解和维护复杂的代码逻辑,提升团队协作效率。 ... [详细]
  • 微信小程序实现类似微博的无限回复功能,内置云开发数据库支持
    本文详细介绍了如何利用微信小程序实现类似于微博的无限回复功能,并充分利用了微信云开发的数据库支持。文中不仅提供了关键代码片段,还包含了完整的页面代码,方便开发者按需使用。此外,HTML页面中包含了一些示例图片,开发者可以根据个人喜好进行替换。文章还将展示详细的数据库结构设计,帮助读者更好地理解和实现这一功能。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 本文介绍如何在 Android 中自定义加载对话框 CustomProgressDialog,包括自定义 View 类和 XML 布局文件的详细步骤。 ... [详细]
  • 对于众多创业公司而言,选择小程序或小视频的发展方向至关重要。本文将深入分析小程序和小视频的特点、优势及局限,帮助创业者做出更明智的选择。 ... [详细]
  • 微信公众号推送模板40036问题
    返回码错误码描述说明40001invalidcredential不合法的调用凭证40002invalidgrant_type不合法的grant_type40003invalidop ... [详细]
  • 本文介绍了如何使用 CMD 批处理脚本进行文件操作,包括将指定目录下的 PHP 文件重命名为 HTML 文件,并将这些文件复制到另一个目录。 ... [详细]
  • Android开发技巧:使用IconFont减少应用体积
    本文介绍如何在Android应用中使用IconFont来显示图标,从而有效减少应用的体积。 ... [详细]
  • 在软件开发过程中,经常需要将多个项目或模块进行集成和调试,尤其是当项目依赖于第三方开源库(如Cordova、CocoaPods)时。本文介绍了如何在Xcode中高效地进行多项目联合调试,分享了一些实用的技巧和最佳实践,帮助开发者解决常见的调试难题,提高开发效率。 ... [详细]
  • 在使用Eclipse进行调试时,如果遇到未解析的断点(unresolved breakpoint)并显示“未加载符号表,请使用‘file’命令加载目标文件以进行调试”的错误提示,这通常是因为调试器未能正确加载符号表。解决此问题的方法是通过GDB的`file`命令手动加载目标文件,以便调试器能够识别和解析断点。具体操作为在GDB命令行中输入 `(gdb) file `。这一步骤确保了调试环境能够正确访问和解析程序中的符号信息,从而实现有效的调试。 ... [详细]
  • 本文介绍了如何使用 Node.js 和 Express(4.x 及以上版本)构建高效的文件上传功能。通过引入 `multer` 中间件,可以轻松实现文件上传。首先,需要通过 `npm install multer` 安装该中间件。接着,在 Express 应用中配置 `multer`,以处理多部分表单数据。本文详细讲解了 `multer` 的基本用法和高级配置,帮助开发者快速搭建稳定可靠的文件上传服务。 ... [详细]
  • 深入解析Struts、Spring与Hibernate三大框架的面试要点与技巧 ... [详细]
author-avatar
张春雷11111
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有