美文网首页
在线预览pdf

在线预览pdf

作者: IamaStupid | 来源:发表于2021-11-17 17:26 被阅读0次

    要求在HTML页面中打开PDF

    解决方案采用第三方插件pdf.js,但是需要注意:pdf文件和HTML需要在同一个域名下,否则会报跨域的问题。

    image.png

    下载pdf.js, 里面有一大堆文件,其中web/viewer.html就是一个已经写好的可以预览pdf的html,使用这个viewer.html的方法很简单,就是..../viewer.html?file=..../xxx.pdf这样就可以打开一个pdf了。

    具体代码如下:

    <!DOCTYPE html>
    <html lang="zh">
    <head>
      <meta charset="utf-8">
      <meta http-equiv="x-ua-compatible" content="ie=edge">
      <title>预览pdf</title>
      <meta name="description" content="">
      <meta name="viewport" content="viewport-fit=cover, width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
      <script src="./js/jquery.js"></script>
      <style type="text/css">
        body,html {
          margin: 0; padding: 0; width: 100%; height: 100%;
        }
        iframe,#app {
          border: 0; width: 100%; height: 100%;
        }
      </style>
    </head>
    <body>
      <div id="app">
        <iframe src=''></iframe>
      </div>
      <script type="text/javascript">
        // http://test.xxx.com/viewPdf/index.html?url=http://test.xxx.com/2020/2021xx11xx1707.pdf
        $(document).ready(function() {
          let href= window.location.href
          let str = href.split('?')[1].split('&')[0].split('=')
          if (str.length > 1) {
            $('iframe').attr('src', './js/pdf/web/viewer.html?file=' + str[1])
          } else {
            alert('网页地址没有携带url参数')
          }
        })
      </script>
    </body>
    </html>
    

    viewPdf这个项目必须部署到服务器上,才能看到效果,部署后,在浏览器中打开index.html:
    http://test.xxx.com/viewPdf/index.html?url=http://test.xxx.com/2020/2021xx11xx1707.pdf

    相关文章

      网友评论

          本文标题:在线预览pdf

          本文链接:https://www.haomeiwen.com/subject/mpaltrtx.html