温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Vue怎么使用pdfobject实现预览pdf

发布时间:2023-03-16 14:48:54 来源:亿速云 阅读:79 作者:iii 栏目:开发技术

本篇内容主要讲解“Vue怎么使用pdfobject实现预览pdf”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue怎么使用pdfobject实现预览pdf”吧!

安装 

pnpm add pdfobject

引入 

import pdf from 'pdfobject'

使用 

这里使用会借助于FileReader,FileReader用于读取文件 

// 点击文件上传回调
handlePreview(file) {
  const { raw } = file
  // 预览pdf
  // FileReader用于读取文件
  let reader = new FileReader()
  reader.readAsDataURL(raw) // 这里只需要将文件传进去就可以了
  reader.onload = e => {
    // reader.result 同 e.target.result
    // 1.文件名 2.要将pdf渲染到的指定位置(dom元素) 3.指定在embed标签中的显示的宽度
    pdf.embed(reader.result, '#previewPdfAndDocx', { width: '100%' })
  }
},

效果 

我这里没在上传之前判断,这里是上传之后,点击文件的时候进行预览,也可以在上传文件之前进行预览,然后决定是否进行上传。根据具体项目需求来 

Vue怎么使用pdfobject实现预览pdf

补充

除了上文,还可以利用pdfobject实现其他功能,希望对大家有所帮助

效果1:在指定位置(当指定位置为全局时)浏览PDF

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>在指定div中浏览PDF</title>
        <!--在此引入bootstrap只为初始化样式div样式-->
        <link rel="stylesheet" href="css/bootstrap.min.css" />
        <style>
            /* 添加样式是为了实现全屏效果 */
            html,body{
                height: 100%;
                overflow: hidden;
            }
             
            #example1{
                height: 100%;
            }
             
            .pdfobject-container{
                /* height: 500px; */
            }
             
            .pdfobject{
                /* border: 1px solid #666; */
            }
        </style>
    </head>
     
    <body>
        <div id="example1"></div>
             
        <script type="text/javascript" src="js/pdfobject.min.js"></script>
        <script>
            // 我的pdf文件放在项目的pdf文件夹下,名字叫做Java.pdf
            PDFObject.embed("pdf/Java.pdf", "#example1");
        </script>
    </body>
</html>

效果2:在指定位置(当指定位置为局部时)浏览PDF

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>在指定div中浏览PDF</title>
        <!--在此引入bootstrap只为初始化样式div样式-->
        <link rel="stylesheet" href="css/bootstrap.min.css" />
        <style>
            html,body{
                height: 100%;
                overflow: hidden;
                /* 添加背景颜色是为了方便查看整个body范围 */
                background-color: cornflowerblue;
            }
             
            #example1{
                /* 设置放置PDF的div的样式 */
                height: 50%;
                width: 50%;
            }
             
            /* PDF容器样式 */
            .pdfobject-container{
                /* height: 500px; */
            }
             
            /* PDF样式 */
            .pdfobject{
                /* border: 1px solid #666; */
            }
        </style>
    </head>
     
    <body>
        <div id="example1"></div>
             
        <script type="text/javascript" src="js/pdfobject.min.js"></script>
        <script>
            // 我的pdf文件放在项目的pdf文件夹下,名字叫做Java.pdf
            PDFObject.embed("pdf/Java.pdf", "#example1");
        </script>
    </body>
</html>

效果3:指定从多少页开始阅读(必须同时指定显示PDF的div)

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>在指定div中浏览PDF</title>
        <!--在此引入bootstrap只为初始化样式div样式-->
        <link rel="stylesheet" href="css/bootstrap.min.css" />
        <style>
            /* 添加样式是为了实现全屏效果 */
            html,body{
                height: 100%;
                overflow: hidden;
            }
             
            #example1{
                height: 100%;
            }
             
            .pdfobject-container{
                /* height: 500px; */
            }
             
            .pdfobject{
                /* border: 1px solid #666; */
            }
        </style>
    </head>
     
    <body>
        <div id="example1"></div>
             
        <script type="text/javascript" src="js/pdfobject.min.js"></script>
        <script>
            // 我的pdf文件放在项目的pdf文件夹下,名字叫做Java.pdf,指定PDF从20页开始阅读
            PDFObject.embed("pdf/Java.pdf", "#example1", {page: "20"});
        </script>
    </body>
</html>

到此,相信大家对“Vue怎么使用pdfobject实现预览pdf”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI