马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
这里保举下载pdf.js 插件
PDF.js - Browse Files at SourceForge.net
特此留意 假如报 Promise.withResolvers is not a function 请去查察版本兼容标题
下载完成后 在 static 文件夹下新建 pdf 文件夹,将解压文件放进 pdf 文件夹下
在当前须要预览的vue页面中,先将文件链接下载为当地文件,代码如下
小tips 这里假如是超链接的情势 可以直接跳转 不须要再去下载 (由于客户须要在线看 而不是先下载)
- openPdf(url) {
- uni.downloadFile({
- //需要预览的文件地址
- url: url,
- success: (res) => {
- if (res.statusCode === 200) {
- //下载成功,得到文件临时地址
- console.log('下载成功', res.tempFilePath);
- //条件编译,若为h5端则直接赋值文件地址
- // #ifdef H5
- let newUrl = res.tempFilePath
- // #endif
- //条件编译,若为App端,则需要将本地文件系统URL转换为平台绝对路径
- // #ifdef APP-PLUS
- let newUrl = plus.io.convertLocalFileSystemURL(res.tempFilePath)
- // #endif
- //这里新建一个vue页面,跳转并预览pdf文档
- uni.navigateTo({
- url: "/pages/previewArea/PdfPreview?url=" + url,
- })
- }
- }
- })
- }
复制代码 这是新建的vue页面,用于web-view预览pdf文件,代码如下
- <template>
- <view>
- <!-- 全局pdf查看器 -->
- <web-view :src="path"></web-view>
- </view>
- </template>
- <script>
- export default {
- data() {
- return {
- viewerUrl: "/static/pdf/-pdf--master/hybrid/pdf.html",
- path: "",
- fileUrl: "",
- }
- },
- onLoad(options) {
- this.fileUrl = options.url;
- },
- onShow() {
- //进行拼接即可
- this.path = `${this.viewerUrl}?url=${this.fileUrl}`
- }
- }
- </script>
复制代码 可以直接跳转表现

static/pdf/-pdf--master/hybrid/pdf.html 这个页面 可以自界说添加下载按钮
- <body>
- <div>
- <div id="pdf-view"></div>
- <div class="down" id="downPdf">下载</div>
- </div>
- <script src="html/pdf/pdf.js"></script>
- <script src="html/pdf/pdf.worker.js"></script>
- <script src="html/pdf/jquery-1.11.3.min.js" type="text/javascript" charset="utf-8">
- </script>
- <script src="html/pdf/pdfh5.js" type="text/javascript" charset="utf-8"></script>
- <script type="text/javascript">
- xxxx
- xxx
- // 点击调用下载
- let downPdf = document.getElementById("downPdf");
- document.getElementById("downPdf").addEventListener("click", async function (event) {
- event.preventDefault();
- try {
- var downloadLink = document.createElement('a');
- downloadLink.href = url; // 这里的url应该是你的PDF文件的URL
- downloadLink.download = url.split("/").pop()// 设置下载后的文件名
- downloadLink.style.display = 'none';
- document.body.appendChild(downloadLink);
- downloadLink.click();
- document.body.removeChild(downloadLink);
- } catch (error) {
- console.log('error',error);
- }
- </script>
- </body>
复制代码
校验是否是pdf文件
let regPdf = /\.(pdf)$/.test(data.toLowerCase()) 是否pdf文件
let regImg = /\.(jpg|jpeg|png|gif)$/.test(data.toLowerCase()) 是否图片文件
let regDoc = /\.(doc|docx)$/.test(data.toLowerCase()) 是否doc 大概 docx文件
|