1

我使用 pdf.js 库从客户端上的 PDF 页面制作图像/画布。但它只适用于 FireFox,不适用于 Chrome 或 IE10+。我环顾四周,但找不到好的答案或解决方案。

我在 IE 或 Chrome 上读到 pdf.js 需要一个网络服务器,但是当我在 JSFiddle 上尝试代码时它仍然无法正常工作。

这是一个例子:https ://jsfiddle.net/aqxwsfjo/2/

var url = 'https://raw.githubusercontent.com/mozilla/pdf.js/master/examples/helloworld/helloworld.pdf';

PDFJS.disableWorker = true;

PDFJS.getDocument(url).then(function getPdfHelloWorld(pdf) {

    pdf.getPage(1).then(function getPageHelloWorld(page) {
        var scale = 1.5;
        var viewport = page.getViewport(scale);


        var canvas = document.getElementById('the-canvas');
        var context = canvas.getContext('2d');
        canvas.height = viewport.height;
        canvas.width = viewport.width;

        page.render({canvasContext: context, viewport: viewport})


    });

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://raw.githubusercontent.com/mozilla/pdf.js/master/web/compatibility.js"></script>
<script src="https://raw.githubusercontent.com/mozilla/pdf.js/gh-pages/build/pdf.js"></script>


<canvas id="the-canvas" style="border:1px solid black"></canvas>

4

1 回答 1

0

看起来 GitHubX-Content-Type-Options: nosniff在返回原始文件时添加了Content-Type: text/plain. 请参阅相关问题:链接并执行托管在 GitHub 上的外部 JavaScript 文件

如相关问题解决方案中所述,将替换https://raw.githubusercontent.comhttps://rawgit.com/which 返回具有正确内容类型的文件。

这里是更新的小提琴:https ://jsfiddle.net/aqxwsfjo/4/

于 2015-11-02T19:05:18.377 回答