Android、ios系统预览pdf文件常用小程序
HTML5可以直接在浏览器中预览PDF文件。 这个功能非常好用,还可以直接在小程序中预览。
方法一
在iOS下,您可以直接打开pdf文件URL进行预览。 如果您的小程序是公司实体typescript开发教程 pdf,则会额外多一个企业域名设置选项。
设置域名后,只需使用web-view打开相应的文件即可。
需要注意的是,文件路径不能是丰富的英文,否则很难正确打开。
这种在Android下使用web-view预览pdf文件的技术行不通。 Android系统会直接下载pdf文件,这就很尴尬了。
但这种方法唯一的缺点是小程序web-view会占据全屏。
解决方法如下:
.but-link { position: fixed; bottom: 0; left: 0; z-index: 999; }
方法二
本来以为在iOS上预览PDF文件需要使用webview。 最后摆弄了半天,在iOS上使用webview标签预览文件时,还是显示空白。 我不知道为什么(我还没能解决),但官方的答案是webview不能直接预览文件(我不明白什么意思?)。 看了官方文档才知道小程序可以直接通过官方api进行预览。
要预览文件,需要调用wx.downloadFile()和wx.openDocument()。 请记住,在 Android 和 iOS 上预览文件时,您可以直接调用 wx.downloadFile() 和 wx.openDocument()。 就这样了,不需要再用webview来实现了。
预览本地文件
//预览本地文档 wx.chooseMessageFile({ count: 1, //能选择文件的数量 type: 'file', //能选择文件的类型,我这里只允许上传文件.还有视频,图片,或者都可以 success(res) { let filePath = res.tempFiles[0].path; //微信临时文件路径 wx.openDocument({ fileType: 'pdf', // 需要写上文件类型才能预览,不让回找系统应用打开,体验不好 filePath: filePath, showMenu: false, //是否显示右上角菜单按钮 默认为 false success: function (res) { console.log('打开本地文档成功') }, fail: function(error){ console.log("打开本地文件失败") } }) }
在线文件预览
wx.downloadFile({ url: 'http://**.*****.***/reshaiwai/demo.pdf', //要预览的 PDF 的地址 success: function (res) { console.log(res); if (res.statusCode === 200) { //成功 var Path = res.tempFilePath //返回的文件临时地址,用于后面打开本地预览所用 wx.openDocument({ fileType: 'pdf', // 需要写上文件类型才能预览,不让回找系统应用打开,体验不好 filePath: Path, //要打开的文件路径 success: function (res) { console.log('打开 PDF 成功'); } }) } }, fail: function (res) { console.log(res); //失败 } })
其他格式也可以用类似的方式预览!
有wx.openDocument()打开的文件格式,可以在以下参数中传入fileType参数
数值描述
文档
文档格式
文档
docx格式
.xls
xls格式
XLSX
xlsx格式
PPT
PPT格式
PPTX
pptx格式
pdf格式
新概念博客,版权所有丨如未标注,均为原创丨本网站由BY-NC-SA合约授权
转载请标注原文链接:【微信小程序】中,小程序实现pdf、word等文件的预览,以PDF文件为例
报酬
【新概念】
你真的了解 TypeScript 中接口和类型的区别吗?
在编写ts相关代码的过程中,总是可以看到接口和类型。 它们似乎都有相同的功能。 两者都可以实现相同的功能typescript开发教程 pdf,并且都易于使用。 因此,真正了解它们之间的差异以及它们在哪些场景下使用的情况很少见。 自己学习。 内容记录共享类型别名类型。 首先,什么是类型别名?类型别名用于为类型赋予新名称。 使用 type 创建类型别名...继续阅读
为什么代码片段要使用flex布局?
问题:为什么要使用Flex布局? 答:因为它很容易使用。 笔试的时候,当面试官问我们为什么使用flex布局时,我们首先要明白一些事情。 面试官问这个问题到底想知道什么? “易于使用”的简单答案肯定行不通。 任何解决方案和技术的出现都是为了填补之前的缺陷。 因此,相对于传统布局解决方案的痛点,Flex布局绝对有它的优势和价值。那么接下来我们就来谈谈传统布局...继续阅读