微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

[已解决]如何使用IE浏览器显示PDF缩略图8,9,10 问题已解决

如何解决[已解决]如何使用IE浏览器显示PDF缩略图8,9,10 问题已解决

当我尝试通过 PDF.js 'Hello,world!' example ,PDFJS.getDocument 不工作且不抛出错误

示例loadingTask.promise.then(function(pdf) {已过时,无法使用!请参考以下代码

      reader.addEventListener('load',function(event) {
      const orientation = getorientation(reader.result);
      const data = arrayBufferToDataURL(reader.result);
      pdfjsLib.disableWorker = true;
      pdfjsLib.GlobalWorkerOptions.workerSrc = 'pdf.worker.js';
      var loadingTask = pdfjsLib.getDocument(new Uint8Array(event.target.result));
      loadingTask.promise.then(function(pdf) {
 
      },function (reason) {
        // console.error(reason);
        // alert(reason);
      });

这不是你的错,最新版pdf.js不支持Internet Explorer8,9,10。虽然旧版本可能支持Internet Explorer11,但代表PDF时会有很多问题。


其实主要是老版本的浏览器不支持ECMAScript6,所以你需要想办法把ES6转成Es5,和ie版本的各个区别。

  • IE8、IE9、IE10 和 IE11 之间有什么区别?
  • es5、es6 有什么区别?
  • 将 ES6 JavaScript 转换为 ES5。

我已经研究了很长时间查询的差异。我不会在这里讨论。我只讲如何转换。


使用babel-cli进行转换

$ npm install --save-dev babel-cli
$ npm install --save hapi

当你使用 Babel 进行转换时,你需要指定要使用的插件。 这是 es2015 预设,用于从 ES6(es2015)转移到 Es5。 babel/preset-es2015 babel/preset-es2017

.babelrc

{
  "presets": ["es2015"]
}

src/index.js

import Hapi from 'hapi';

const server = new Hapi.Server();
server.connection({
  host: 'localhost',port: 8000
});

// Add routing
server.route({
  method: 'GET',path: '/hello',handler: function(request,reply) {
    console.log('[/hello] requested');
    reply('hello world');
  }
});

server.start();

dist/index.js

$ babel src/index.js --out-file dist/index.js
'use strict';

var _hapi = require('hapi');

var _hapi2 = _interoprequiredefault(_hapi);

function _interoprequiredefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var server = new _hapi2.default.Server();
server.connection({
  host: 'localhost',handler: function handler(request,reply) {
    console.log('[/hello] requested');
    reply('hello world');
  }
});

server.start();


当您认为应该没有问题时,对不起,还有其他问题。表示特定日文字符集时出现乱码

  • 需要修改adode pdf bcmap文件(/pdf.js/cmaps/*.bcmap)

下载您想要的cmap-resources添加


问题已解决

Problem-Solved

解决方法

将 ES6 转换为 Es5 并使用您想要的字符集

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。