程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

H5查看pdf文件(pdfh5)

发布于2023-01-18 23:00     阅读(616)     评论(0)     点赞(9)     收藏(2)


我用的是 pdfh5 来查看的H5中的pdf文件

-- 使用 pdfh5 插件来打开 pdf文件

-- 下面是两种使用方法,方法一、二都可以(但是我在使用方法二时有卡顿现象,可能是因为未开启懒加载

-- 方法二中的 on 可以打印出来错误信息

 使用方法 

        1、引入 pdfh5

npm install pdfh5

        2、在 vue 文件中使用以下代码(这里创建了一个新的文件,然后再当前的新页面中打开pdf文件)

html

  1. <template>
  2. <div class="wrap">
  3. <div id="demo"></div>
  4. </div>
  5. </template>

js 

  1. <script>
  2. import Pdfh5 from "pdfh5"; // 这两个一定要引入
  3. import "pdfh5/css/pdfh5.css"; // 这两个一定要引入, 这个是在加载时,顶部会出来一个加载进度条和一些其他的样式
  4. export default {
  5. name: "openPdf",
  6. data() {
  7. return {
  8. pdfh5: null,
  9. };
  10. },
  11. mounted() {
  12. // ---------------------------- 方法一 -----------------------------
  13. this.pdfh5 = new Pdfh5("#demo", {
  14. pdfurl: "https://www.*********uanfu.pdf", // pdf 地址,请求的地址需要为线上的地址,测试的本地的地址是不可以的
  15. lazy: true, // 是否懒加载
  16. withCredentials: true,
  17. renderType: "svg",
  18. maxZoom: 3, //手势缩放最大倍数 默认3
  19. scrollEnable: true, //是否允许pdf滚动
  20. zoomEnable: true, //是否允许pdf手势缩放
  21. });
  22. // --------------------------- 方法二 ---------------------------
  23. //实例化
  24. this.pdfh5 = new Pdfh5("#demo", {
  25. pdfurl: "https://www**********anfu.pdf",
  26. });
  27. //监听完成事件
  28. this.pdfh5.on("complete", function (status, msg, time) {
  29. console.log("状态:" + status +",信息:" +msg +",耗时:" + time + "毫秒,总页数:" + this.totalNum);
  30. });
  31. },
  32. };
  33. </script>

css 

  1. <style>
  2. .wrap {
  3. width: 100%;
  4. height: 100%;
  5. background-color: #fff;
  6. }
  7. /* html,
  8. body, */
  9. #demo {
  10. width: 100%;
  11. height: 100%;
  12. }
  13. // 这里高度没有撑满
  14. .viewerContainer {
  15. height: 100%;
  16. }
  17. </style>

 问题:H5中遇到的问题----在本地运行时,遇到的问题 

1、在使用 本地的相对路径时,出现打不开的pdf的情况

      == 原因:应该是可以使用本地路径,但是打不开可能是因为这里是在本地请求的,然后没有请求回来,这里并没有测试用相对路径在线上是否可以打开

2、报跨域的错误

        == 原因:感觉可能是因为在请求时,请求头是本地的 localhost ,所以出现了跨域,将代码放到测试环境运行时,测试环境的地址和该 pdf 链接的请求地址是同一个域名,所以到线上的时候可以请求,但是如果不一样的话,就需要让后端配置一下请求头

原文链接:https://blog.csdn.net/LXY_1999/article/details/128012499




所属网站分类: 技术文章 > 博客

作者:前端黄柠檬

链接:http://www.qianduanheidong.com/blog/article/494751/a8be11e5468e82c6730c/

来源:前端黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

9 0
收藏该文
已收藏

评论内容:(最多支持255个字符)